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.
Chauuuu....de este post no caso una !!!!
ResponderBorrarme quedo con el candombe...
Besos
jej no te preocupes, ni yo entiendo a veces :)
ResponderBorrar