注册 登录
编程论坛 SQL Server论坛

sql级联删除怎么做?

青格儿 发布于 2008-04-17 18:41, 23925 次点击
请问sql级联删除语句怎么写?(我SQL不太好,不会写)还有,如果一个表中不光一个外键,要是多个的话,又怎么做啊?
我想当我删除主表中的数据时,从表中相应的数据会自动删除,可以举个实例让我参考下吧!先谢谢大家了!
7 回复
#2
jalonlovesja2008-04-17 20:34
SQL好象可以直接在数据库中设置的了,自己再去找找了.
#3
wonder_0082008-04-17 21:52
修改一下外键,下面是个例子:
alter table 表名
add constraint 外键名
foreign key(字段名) references 主表名(字段名)
on delete cascade

语法:
Foreign Key
(column[,...n])
references referenced_table_name[(ref_column[,...n])]
[on delete cascade]
[on update cascade]
注释:
column:列名
referenced_table_name:外键参考的主键表名称
ref_name:外键要参考的表的主键列
on delete:删除级联
on update:更新级联
#4
青格儿2008-04-19 18:53
太谢谢楼上的朋友了!
另:

级联更新和删除和触发器的功能有点像,都是只要执行过一遍了,下次就不用编译,直接调用了,是吧?
它俩原理是不是相同.它俩有区别吗?
#5
wonder_0082008-04-20 13:17
[bo]以下是引用 [un]青格儿[/un] 在 2008-4-19 18:53 的发言:[/bo]

太谢谢楼上的朋友了!
另:

级联更新和删除和触发器的功能有点像,都是只要执行过一遍了,下次就不用编译,直接调用了,是吧?
它俩原理是不是相同.它俩有区别吗? ...


触发器和约束一样是实现数据完整性和一致性的约束措施,触发器功能更强。
#6
lff6422008-04-25 16:27
或者可以使用程序来控制,
#7
sostrong2008-06-16 11:34
感谢3楼朋友的解答啊,帮我解决了修改表的级联删除的问题,哈...
#8
jxyga1112008-06-17 11:27
可以建一个主关键再删除啊
1