trigger , - , trigger . instead of update trigger:
CREATE TABLE [dbo].[Table_1](
[ID] [int] NOT NULL,
CONSTRAINT [PK_Table_1] PRIMARY KEY CLUSTERED
(
[ID] ASC
))
go
CREATE TABLE [dbo].[Table_2](
[ID] [int] NOT NULL)
go
insert into Table_1 values(1),(2),(3),(4)
update Table_1 set ID = 2 where ID = 1
Msg 2627, 14, 1, 1
" PK_Table_1 ". 'Dbo.Table_1.
.
create trigger [tr_Table_1] on [Table_1]
instead of update
as
begin
insert into [dbo].[Table_2]
select * from [dbo].[Table_1]
update Table_1 set ID = 2 where ID = 1
end
go
update Table_1 set ID = 2 where ID = 1
(4 lines affected)
Msg 2627, level 14, state 1, procedure tr_Table_1, line 8
Violation of the PRIMARY KEY restriction "PK_Table_1". Cannot insert duplicate key into object "dbo.Table_1".
The statement was discontinued.
source
share