Trigger
Publicado por Chacal (1 intervención) el 15/06/2010 18:31:51
Amigos, tengo una consulta, soy nuevo en Sql Server, uso la versión 2000 y estaba haciendo un Trigger, de una base de un Video Club, que al querer insertar un alquiler y no existir el Cliente me sale un mensaje de error 'No existe ese Cliente!' y al insertar un alquiler a un cliente que existe me sale un mensaje de "insert correcto". Mi consulta es la siguiente: cuando hago el insert de un cliente que figura funciona bien! ahora si cargo un cliente que no existe me sale este error: "Mens. 547, Nivel 16, Estado 0, Línea 1
Instrucción INSERT en conflicto con la restricción FOREIGN KEY "FK_Cliente". El conflicto ha aparecido en la base de datos "videoClub", tabla "dbo.Cliente", column 'Id_cliente'.
Se terminó la instrucción."
Es decir no pasa por el PRINT 'No existe ese Cliente!' directamente me tira ese error. Cómo puedo hace para que salga mi error y no el del sql? que estoy haciendo mal? Desde ya gracias a todos!!!
CREATE TRIGGER check_CLIENTE
ON ALQUILER
FOR INSERT, UPDATE AS
IF NOT EXISTS (select * from CLIENTE, ALQUILER
where CLIENTE.Id_Cliente = ALQUILER.Id_Cliente)
BEGIN
PRINT 'No existe ese Cliente!'
ROLLBACK TRANSACTION
END
ELSE
PRINT 'insert correcto'
GO
Instrucción INSERT en conflicto con la restricción FOREIGN KEY "FK_Cliente". El conflicto ha aparecido en la base de datos "videoClub", tabla "dbo.Cliente", column 'Id_cliente'.
Se terminó la instrucción."
Es decir no pasa por el PRINT 'No existe ese Cliente!' directamente me tira ese error. Cómo puedo hace para que salga mi error y no el del sql? que estoy haciendo mal? Desde ya gracias a todos!!!
CREATE TRIGGER check_CLIENTE
ON ALQUILER
FOR INSERT, UPDATE AS
IF NOT EXISTS (select * from CLIENTE, ALQUILER
where CLIENTE.Id_Cliente = ALQUILER.Id_Cliente)
BEGIN
PRINT 'No existe ese Cliente!'
ROLLBACK TRANSACTION
END
ELSE
PRINT 'insert correcto'
GO
Valora esta pregunta
0