Simular una función almacenada en Firebird
Buenas, tengo un procedimiento almacenado y estoy intentando hacer lo siguiente:
Ahora mi consulta...
Así como está no funciona el Select, el error me dice: An error was found in the application program input parameters for the SQL statement. Dynamic SQL Error. SQL error code = -804. Function unknown. FECHA_HORA_SERVIDOR; Lo que quisiera es poder lograr que a un procedimiento almacenado lo pueda poner como expresión dentro del Select... Si no se puede de esta manera, ¿qué otra forma tengo para lograrlo? Gracias. |
Tal vez así...
(lo digo de memoria, creo que así esta bien, pero si no es algo similar...) |
consulta directa
Creo que no entiendo tu store procedure, ¿Porque no consultas directamente la fecha?
Saludos. |
No sé si he entendido bien lo que quieres, pero la sentencia para llamar al procedure sería:
Aunque para extraer la fecha, hora y fechahora del servidor puedes usar:
Edito: No había visto lo que ha dicho afxe :) |
Lo de la fecha fue solo un ejemplo, lo que quiero es poner un "procedimiento almacenado" que devuelva, por ejemplo, un valor numérico secuencial. En este momento se piensa en un Generador pero resulta que no están dentro de la transacción y yo necesito que si estén.
La única forma que hallé es "simular" un generador a través de un procedimiento almacenado, el cual si está dentro de una transacción y me asegura que no voy a tener agujeros dentro de la numeración. Pero bueno, ahora la cosa está un poco mas complicada y sería bueno poder llamar a esos "generadores" de números como si fueran campos del Select. No se si me expliqué mejor. Gracias. |
Cita:
En el caso de la Fecha si es superfluo el asunto del procedimiento almacenado, pero en el caso de "nuevo_codigo" no, puesto que este me devuelve un valor y además se encarga de aumentar en 1 la secuencia para que el siguiente select se encuentre con un valor correlativo. Intenté poner en lugar de (select nc.nro from nuevo_codigo(5) nc) la expresión gen_id(ibe$log_tables_gen, 1), un generador común y me envió el siguiente error: Invalid insert or update value(s): object columns are constrained - no 2 table rows can have duplicate column values. violation of PRIMARY or UNIQUE KEY constraint "PK_FAMILIAS" on table "FAMILIAS". En principio la cosa está mejor, tal vez haya una mejor manera de hacer lo que necesito. Gracias. |
La franja horaria es GMT +2. Ahora son las 16:04:11. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi