PDA

Ver la Versión Completa : Error en columna en Trigger


brakaman
12-06-2007, 23:11:03
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í:


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.