关于SqlServer中的级联更新和级联删除问题

    很久没用过sqlServer了,最近在修改的一个项目中用到了级联更新和删除,使用的数据库版本是SqlServer2005。下面介绍一下级联更新和删除的方法。

    用两个表来举例:ns_userinfo和ns_usergroup

    create table ns_userinfo(
    userid varchar(64) not null primary key,
    username varchar(60) not null,
    age int )

   create table ns_usergroup(
    userid varchar(64) not null,
    groupid int not null primary key(userid,groupid)
 )

可以如下脚本来增加级联更新和删除的约束

alter table ns_usergroup with check add constraint [FK_USERINFO_USERGROUP] FOREIGN key ([userid])
references ns_userinfo ([userid]) 
on update cascade
on delete cascade

另外,如果使用SQL Server Management Studio,也可以通过界面来修改约束关系,方法如下:

在对应表上右键——关系——INSERT和UPDATE的规,将 更新规则  修改为“层叠”,然后保存即可。

如果想要修改约束关系,则可以先删除级联关系,然后再创建新的约束关系。删除约束命令如下:

alter table ns_usergroup drop constraint FK_USERINFO_USERGROUP



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值