Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/06/2008, 10:36
Avatar de RsOfT
RsOfT
 
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 2 meses
Puntos: 7
Crear Trigger en Sybase para Validar un Foreign Key

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?
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--