觸發器

2008-12-01 21:38
說明 數據庫中有data1、data2兩個數據表用於測試觸發器是否成功!
data1和data2的一模一樣id(自動增加)、name (nvarchar(50))、age(int)
data1中增加數據時,如果data2中存在新增的這個name就更新data2
create trigger t1_forinsert on data1
for insert
as
declare @name nvarchar(50)
declare @age int
select @name = name,@age = age from inserted
if exists(select * from data2 where name = @name)
begin
update data2 set age = @age where name = @name
end
當刪除data1中的數據時,如果data2中存在這個name,那麼把data2中的數據也刪除
create trigger t2_deleted on data1
for delete
as
declare @name nvarchar(50)
select @name = name from deleted
if exists(select * from data2 where name = @name)
begin
delete from data2 where name = @name
end
當更新data1的數據時,如果這個name也存在於data2中,那麼data2中的數據也相應更新
create trigger t3_forupdate on data1
for update
as
declare @name nvarchar(50)
declare @age int
select @name = name,@age = age from updated
if exists (select * from data2 where name = @name)
begin
update data2 set age = @age where name = @name
end
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章