if exists(select name from sysobjects where name='sale_Update' and type='TR')
drop trigger sale_Update
go
if exists(select name from sysobjects where name='sale_insert' and type='TR')
drop trigger sale_insert
go
if exists(select name from sysobjects where name='sale_delete' and type='TR')
drop trigger sale_delete
go
/*******************insert触发器***************************/
CREATE TRIGGER sale_insert ON dbo.sale
FOR INSERT
AS
set identity_insert newsale on
--delete [dbo].[newsale] where title_id in (select title_id from inserted)
--select * from sale where [title_id] not in (select [title_id] from newsale)
select * from inserted
--select * from inserted
--delete [dbo].[newsale] where title_id in (select title_id from inserted)
set identity_insert newsale off
go
/*******************delete触发器***************************/
CREATE TRIGGER sale_delete ON dbo.sale
FOR delete
AS
delete [dbo].[newsale] where title_id in (select title_id from deleted)
go
/*******************update触发器***************************/
CREATE TRIGGER sale_Update
ON sale
FOR UPDATE
AS
set identity_insert newsale on
IF (UPDATE(stor_id)
or UPDATE(payterms)
or UPDATE(qty)
or UPDATE(date)
or UPDATE(ord_num))
begin
--select * from inserted
delete newsale where title_id in (select title_id from inserted)
insert newsale(
[stor_id],
[ord_num],
[date],
[qty] ,
[payterms],
[title_id]
) select * from inserted
--select * from sale
end
set identity_insert newsale off
go