首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

请问一个SQLSERVER 中级联删除的例子

2013-11-25 
请教一个SQLSERVER 中级联删除的例子已经修改了表为什么删除的时候 还是只会删除RecordLabel不会删除Addre

请教一个SQLSERVER 中级联删除的例子
已经修改了表



为什么删除的时候 还是只会删除RecordLabel  不会删除Address 中的那?

为什么删除的时候 还是只会删除RecordLabel  不会删除Address 中的那?

你弄反了把,这个级联删除,只能是删除主表的记录时,级联删除子表的记录。

你现在的主表是Address,而子表是RecordLabel。

所以只能实现删除address的记录时,自动删除RecordLabel的记录。
[解决办法]
引用:
Quote: 引用:

Quote: 引用:


foreign key (addressid) references Address(addressid)

foreign key (addressid)  是因为我在RecordLabel这张表里有addressid列 并且是外键
references Address(addressid) 是Address表中addressid是主键!
请问这样有错吗?
能帮我改改吗?


你写的是对的。

打算在delete from [LkMusicDB].[dbo].[RecordLabel] where recordlabelid =20005 时会级联删除
这个实现不了。

只能实现 delete from [LkMusicDB].[dbo].[address] where addressid=xxx 时,自动把子表的addressid = xxx的记录删除掉哈


请问 要实现我的那种怎么办 。。 触发器我会搞


那就给表RecordLabel建个delete触发器:

类似于这样:

delete from address
from inserted i
where i.addressid = address.addressid

热点排行