FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
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.
__________________
Uno es responsable de lo que hace y de lo que omite hacer. |
#2
|
||||
|
||||
Tal vez así...
(lo digo de memoria, creo que así esta bien, pero si no es algo similar...)
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H" |
#4
|
||||
|
||||
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 |
#5
|
||||
|
||||
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.
__________________
Uno es responsable de lo que hace y de lo que omite hacer. |
#6
|
||||
|
||||
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.
__________________
Uno es responsable de lo que hace y de lo que omite hacer. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Error en funcion almacenada para insertar datos a tabla | dark_monk9 | PostgreSQL | 3 | 16-01-2012 14:57:31 |
Ejecutar formula almacenada en tabla | mosorio | SQL | 2 | 28-06-2007 21:14:38 |
funcion rtrim en firebird 1.5 | berfer | Firebird e Interbase | 3 | 23-08-2006 18:04:23 |
función para obtener diferencias entre fechas - Firebird | clanmilano | SQL | 1 | 11-11-2005 13:29:52 |
como saber el identificador del último registro almacenada en una base de datos. | soyhugo | Varios | 2 | 16-02-2004 16:04:04 |
|