Cześć,
Wiecie może dlaczego po wykonaniu
insert into tab values(10,2,3);
pojawia się komunikat :
Msg 3609, Level 16, State 1, Line 2
The transaction ended in the trigger. The batch has been aborted.
Co należy zrobić aby go pominąć / niewyświetlać ?
Create Table tab(
t decimal(10,0),
o int,
k varchar
);
create table dane(id decimal(10,0));
insert into dane values(1);
IF OBJECT_ID ('napis', 'TR') IS NOT NULL
DROP TRIGGER napis;
GO
CREATE TRIGGER napis
ON tab
AFTER INSERT, UPDATE
AS
DECLARE @zmienna decimal(10,0)
SELECT @zmienna = t from inserted
IF @zmienna not in (select id from dane)
BEGIN
raiserror('to se neda', 16,1);
ROLLBACK TRANSACTION ;
END
GO