SQL Server Trigger 使用

 

--Deleted

CREATE TRIGGER [dbo].[Battery_Deleted]
   ON  [dbo].[tblBattery]
   instead of DELETE
AS
set nocount on  --無返回影響行數
insert into dbo.tblBatteryLog select * from deleted;
delete from dbo.tblBattery where batteryid in(select batteryid from deleted);

 

--Updated


CREATE TRIGGER [dbo].[Battery_Updated]
   ON  [dbo].[tblBattery]
   INSTEAD OF UPDATE
AS
declare @tran nvarchar(1);
set @tran='0';
begin try
begin tran @tran;
set nocount on;
insert into dbo.tblBatteryLog select * from deleted;
delete from dbo.tblBattery where batteryid in(select batteryid from deleted);
insert into dbo.tblBattery select * from inserted;
commit tran @tran;
end try
begin catch
rollback tran @tran;
end catch

--Inserted

 

CREATE TRIGGER [dbo].[Battery_Inserted]
   ON  [dbo].[tblBattery]
   INSTEAD OF Insert
AS
set nocount on
insert into dbo.tblBatteryLog select * from inserted;
insert into dbo.tblBattery select * from inserted;

posted @ 2010-08-27 15:46  做IT人  阅读(316)  评论(0编辑  收藏  举报