Power Builder - TRIGGER SQL-2000 (ERROR?)

 
Vista:

TRIGGER SQL-2000 (ERROR?)

Publicado por marcelo (78 intervenciones) el 10/10/2002 15:43:05
Tenía problemas puesto que estoy trabajando sobre SQL2000. y aparentemente los triggers se comportan
en forma distinta de lo que tenía pensado sobre SQL-7.0.
Describo brevemente un ejemplo de SP:
CREATE PROC SPXX
.......
.......
BEGIN TRANSACTION TX1
INSERT INTO t1 values(1)
IF @@error <> 0
BEGIN
/*Mi control de errores*/
END
GO
=============================
Resulta que si el insert produce una error en el triger (como muestro en el código siguiente), se cancela toda la ejecución del SP, no pudiendo tomar control sobre la accion a seguir por el error. (Nunca se ejecuta /*Mi control de errores*/)
Para ello dicen que existe un SET
SET XACT_ABORT ON (Se comporta como describo)
SET XACT_ABORT OFF (Continua con el proceso del SP, que era el modo que tenía entendido)



============================
Mirar este Código sacado de: <http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q154002&>
create table t1(c1 int)
go
create trigger tr1 on t1 for insert as
rollback tran
go

begin tran
insert t1 values(100)
print 'We should not get here...'
if @@trancount <> 0
commit tran
go
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder