/declaración de variables en Firebird
Estoy usando Firebird como motor de base de datos (open source, liviana, rápida, y considerablemente completa).
Situación: estaba creando procedimientos almacenados y disparadores, en ellos necesitaba declarar variables locales.
Cuando compilo el script, me sale error en la declaración de la variable. Leo la documentación que provee el sitio, y para mi sorpresa estaba respetando la sintaxis.
Para aislar el error, comenté el resto, y en efecto, la parte conflictiva estaba en la declaración de variables.
La documentación consultada fue: Developers Guide, Embedded SQL, Language Reference.
En un foro me dan la respuesta, la documentación tiene impresiciones, la declaración de la variable debe ir antes del cuerpo del procedimiento/disparador, o sea antes del BEGIN:
Este es un ejemplo del código correcto y que funciona:
CREATE OR ALTER trigger pacientes_bi0 for pacientes
active before insert position 0
AS
DECLARE VARIABLE clave_pac INTEGER; /* Aqui debe ir antes del BEGIN*/
begin
if (new.cod_pac is Null) then
begin
EXECUTE PROCEDURE getcodpac 'Pacientes' RETURNING_VALUES :clave_pac;
new.cod_pac = clave_pac + 1;
end
/* Trigger text */
end
NOTA: No solo ya viene con Ubuntu, es además sumamente popular en Brasil, Italia y y otros países europeos, especialmente entre los desarrolladores Delphi, permite embeber la base de datos en un sólo archivo .DLL junto con su aplicación.
2 comentarios:
Chauuuu....de este post no caso una !!!!
me quedo con el candombe...
Besos
jej no te preocupes, ni yo entiendo a veces :)
Publicar un comentario