Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Error en columna en Trigger (https://www.clubdelphi.com/foros/showthread.php?t=44699)

brakaman 12-06-2007 23:11:03

Error en columna en Trigger
 
Hola amigos:

Terminando de crear la base de datos con IBExpert, estoy creando un Trigger que me permita al dar de alta un Empleado que establezca el inicio de su vida laboral.

Hago lo siguiente:

REATE trigger empleados_ai0 for empleados
active after insert position 0
AS
begin
INSERT INTO VIDALABORAL (COD_EMP,FECHALTA,FECHBAJA,ACTIVO) VALUES (EMPLEADOS.codemp,TODAY,NULL,'S');
end

El error me lo marca en el campo EMPLEADOS.CODEMP (El cual pertenece a la tabla de empleados), entonces .....¿como me refiero a un campo de otra Tabla, no es correcto la sintaxis TALBLA.CAMPO. ?

y otra cosa en la segunda fecha no tengo que asignar valor, que asigno NULL, o ¿Como se hace para asignar una fecha en blanco?

Saludos.

maeyanes 12-06-2007 23:22:14

Hola...

Si entiendo bien, quieres usar el dato codemp del registro nuevo para insertarlo en la tabla vidalaboral, esto se hace así:

Código SQL [-]
create trigger Empleados_ai0 for Empleados
active after insert position 0
as
begin
  insert into vidalaboral (cod_emp, fechalta, activo)
    values(NEW.codemp, 'now', 'S')
end

Si te fijas, no use el campo FECHBAJA en el insert, ya que al ser un valor nulo no tiene caso que lo pongas...

La palabra reservada NEW se usa para obtener el valor del campo del registro que acabas de insertar en la tabla que dispara al trigger.


Saludos...

brakaman 13-06-2007 18:14:14

Muchas gracias amigo:

Perfecto.


La franja horaria es GMT +2. Ahora son las 09:11:41.

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