Estoy tratando de crear un Trigger en Sybase para validar que el código del producto insertado en una tabla exista en otra tabla.
El código del triger es el siguiente:
Código:
CREATE TRIGGER "tgValidaCodigoInsumo" AFTER INSERT
ORDER 1 ON "DBA"."labores_insumos"
/* REFERENCING NEW AS new_name */
FOR EACH ROW
/* WHEN ( search_condition ) */
BEGIN
Declare @IdInsumo int;
Declare @Conteo int;
Select @IdInsumo = Cod_Insumo From Inserted;
--Validando que el Código a Insertar Exista en el Maestro--
Select @Conteo = Count(*) From Productos Where codigo = @IdInsumo;
if @Conteo = 0 Then
RollBack;
END If;
-----------------------------------------------------------
END
El trigger se crea perfectamente, pero cuando intento grabar el dato en la tabla con un código que si existe, me ahorra el siguiente error:
SQLSTATE = 37000
Cita: [Sybase][ODBC Driver][Adaptive Server Anywhere]Syntax error or access violation: Trigger or foreign key for table 'labores_insumos' is no longer valid
No changes made to database.
INSERT INTO labores_insumos ( cod_insumo, cantidad, dosis, id, cod_deposito, id_labores, tipo ) VALUES ( 1761, 25.00, 0.201612903225806452, 1127062, 100, 1127060, 'T' )
¿Qué estoy haciendo mal?