当前位置: 代码迷 >> Sql Server >> 关于创建触发器有关问题
  详细解决方案

关于创建触发器有关问题

热度:18   发布时间:2016-04-24 10:28:34.0
关于创建触发器问题






我想当我修改客户表的身份证号时,相应的字段也要改变,触发器如何实现啊!
------解决方案--------------------
如果保证好主外键关联的话,可以直接设置外键的级联更新,触发器都省了
------解决方案--------------------

-- 给你一个糖炒票子

ALTER TABLE sub 
ADD CONSTRAINT FK_sub_id FOREIGN KEY(id) REFERENCES main(id) 
ON UPDATE  CASCADE   -- 更新时,级联更新
ON DELETE  SET NULL   -- 删除时,置空。

-- ON Update 和 On Delete 的 那两个选项可以随意搭配

------解决方案--------------------
引用:
Quote: 引用:


-- 给你一个糖炒票子

ALTER TABLE sub 
ADD CONSTRAINT FK_sub_id FOREIGN KEY(id) REFERENCES main(id) 
ON UPDATE  CASCADE   -- 更新时,级联更新
ON DELETE  SET NULL   -- 删除时,置空。

-- ON Update 和 On Delete 的 那两个选项可以随意搭配


要是一触发器形式要怎么写啊




-- 刚才那个,有个关键的东东写错了。。。 deleted .
select id , name into m  from sysobjects where xtype  = 'S'
go
select id,name,colid into sub from syscolumns where id in (select id from m)
go
create trigger m_tr on m 
after delete
as
begin
delete sub where id in(select id from deleted)
end 
go

select COUNT(*) from m
go
select COUNT(*) from sub
delete m where id < 50
go
select COUNT(*) from m
go
select COUNT(*) from sub

-- drop table m , sub 
  相关解决方案