janasoft
17-10-2014, 14:38:15
Hola a todos.
Estoy empezando a hacer cosas con FireBird y no estoy muy familiarizado con la sintaxis y la forma de trabajar.
El caso es que he generado un trigger que se ejecuta cuando creo un registro en una tabla y que, a su vez, crea un registro en otra.
La idea es que cuando el campo 'aplicar_re1 de la primera tabla valga '1' se guarde en el campo 'RE' de la segunda tabla el valor obtenido mediante la sentencias 'select RE from impuestos where impuesto_ID = new.tipo_iva', mientras que si vale '0' lo que se guarde sea el valor '0'. Con las primeras líneas del código pretendo asignar este valor a la variable 'ReqEquiv'
declare variable ReqEquiv integer;
begin
if (new.aplicar_re = 1) then
ReqEquiv = (select RE from impuestos where impuesto_ID = new.tipo_iva);
else
ReqEquiv = 0;
insert into regulariz_almcn (Fecha, Sentido, Causa_ID, Producto_ID, Cantidad, Precio, IVA, RE, Act_Precio, Act_Stock)
values ('now', 0, 1, NEW.producto_id, new.stock_actual, new.precio_compra, (select IVA from impuestos where impuesto_ID = new.tipo_iva), ReqEquiv, 0, 0);
El caso es que cuando intento compilar, me aparece el error. 'Column unknown. REQEQUIV' y ya no se cómo seguir.
¿Puede alguien darme una luz sobre lo que estoy haciendo mal?
Muchas gracias
Estoy empezando a hacer cosas con FireBird y no estoy muy familiarizado con la sintaxis y la forma de trabajar.
El caso es que he generado un trigger que se ejecuta cuando creo un registro en una tabla y que, a su vez, crea un registro en otra.
La idea es que cuando el campo 'aplicar_re1 de la primera tabla valga '1' se guarde en el campo 'RE' de la segunda tabla el valor obtenido mediante la sentencias 'select RE from impuestos where impuesto_ID = new.tipo_iva', mientras que si vale '0' lo que se guarde sea el valor '0'. Con las primeras líneas del código pretendo asignar este valor a la variable 'ReqEquiv'
declare variable ReqEquiv integer;
begin
if (new.aplicar_re = 1) then
ReqEquiv = (select RE from impuestos where impuesto_ID = new.tipo_iva);
else
ReqEquiv = 0;
insert into regulariz_almcn (Fecha, Sentido, Causa_ID, Producto_ID, Cantidad, Precio, IVA, RE, Act_Precio, Act_Stock)
values ('now', 0, 1, NEW.producto_id, new.stock_actual, new.precio_compra, (select IVA from impuestos where impuesto_ID = new.tipo_iva), ReqEquiv, 0, 0);
El caso es que cuando intento compilar, me aparece el error. 'Column unknown. REQEQUIV' y ya no se cómo seguir.
¿Puede alguien darme una luz sobre lo que estoy haciendo mal?
Muchas gracias