1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
create table A (
C1 int not null,
C2 int not null,
C3 varchar(20) null,
constraint PK_A primary key (C1, C2)
)
GO
CREATE TRIGGER TR_a
ON A
FOR INSERT, UPDATE, DELETE
AS
PRINT '@@TRANCOUNT = ' + CONVERT(VARCHAR, @@TRANCOUNT)
if exists(select * from deleted)
BEGIN
raiserror('no delete',16,1)
ROLLBACK TRAN
END
PRINT '@@TRANCOUNT = ' + CONVERT(VARCHAR, @@TRANCOUNT)
print 'TABLE A'
SELECT * from A
print 'inserted'
select * from Inserted
print 'deleted'
select * from Deleted
GO
INSERT INTO A
VALUES(1,4,'123')
PRINT '@@TRANCOUNT = ' + CONVERT(VARCHAR, @@TRANCOUNT)
BEGIN TRAN TRA -- début de transaction
PRINT '@@TRANCOUNT = ' + CONVERT(VARCHAR, @@TRANCOUNT)
DELETE FROM A
PRINT '@@TRANCOUNT = ' + CONVERT(VARCHAR, @@TRANCOUNT)
COMMIT TRAN TRA -- problème |
Partager