社区
MS-SQL Server
帖子详情
如何保持像外键一样的级联更新,但不对它进行删除
zyhtz
2003-10-09 04:34:57
如何做到这样:
两个表中的字段,如何做到能像主键对外键一样保持级联更新
但删除主键的值不对外键的值产生影响
如果设置主键和外键可以设置级联更新,
但不设置级联删除,而希望删除主键里的值但不删除和主键相同的外键的值
这样如果设置主键和外键,则会提示违反约束。
应该如何办到,通过外键好像行不通
...全文
109
10
打赏
收藏
如何保持像外键一样的级联更新,但不对它进行删除
如何做到这样: 两个表中的字段,如何做到能像主键对外键一样保持级联更新 但删除主键的值不对外键的值产生影响 如果设置主键和外键可以设置级联更新, 但不设置级联删除,而希望删除主键里的值但不删除和主键相同的外键的值 这样如果设置主键和外键,则会提示违反约束。 应该如何办到,通过外键好像行不通
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zyhtz
2003-10-10
打赏
举报
回复
不设置级联更新当主键和外键有相同的值时,能删除主键的行?
伍子V5
2003-10-10
打赏
举报
回复
你那样做,不是破坏了数据参照完整性了么
create trigger tr_name on 主表
for update
as
update 从表 set 关联字段=a.关联字段 from inserted a
killxtt
2003-10-09
打赏
举报
回复
晕了,只设置级联更新不设置级联删除就可以达到这个目的了啊,怎么会报错呢,你是不是这个主键表还和另外的表关联了阿
实在不行你就用触发器吧。
看联机丛书的create trigger条目
zyhtz
2003-10-09
打赏
举报
回复
我是想删除主键里的值,但不删除外键里的值,但同时保持级联更新
就是这样
不好意思,刚刚没表达清楚
好像这样不能设置主键和外键
zjcxc
元老
2003-10-09
打赏
举报
回复
仅设置为级联更新就行了.
如果是7.0,就用触发器处理
伍子V5
2003-10-09
打赏
举报
回复
我越来越迷糊了
你不是本来就要求不能级连删除么
干嘛又要删除主键里的记录
zyhtz
2003-10-09
打赏
举报
回复
单设置级联更新,但是删除主键所在行时会出错,它不充许删除主键所在表和外键所在表里共有的行。就是这个值主键表里有,外键所在表里也有,就不能在主键里删除它,当不设置级联删除时
pbsql
2003-10-09
打赏
举报
回复
SQL2000里可只设置级联更新,不设置级联删除
aierong
2003-10-09
打赏
举报
回复
2个表不用利用主外键关系就可以啦
要它们间发生关系,可以利用触发器
伍子V5
2003-10-09
打赏
举报
回复
不会吧,你单设置级连更新也可以嘛
另外可以用触发器
mysql
级联
更新
和
级联
删除
mysql
级联
更新
和
级联
删除
,区分有
级联
和没
级联
操作的区别之处
级联
删除
笔记【自用0分】
以前用Sql Server只会对图形界面
进行
操作,现在发现自己的Sql语言功底是越来越差了,例如如何为两个表添加关联,让他们
级联
更新
和
级联
删除
。 到晚上查了一下,发现可以用两种办法 触发器方式: create trigger trg_A on A for update,delete as begin if exists(select 1 from inserted) update B set Name=(select Name from inserted) where Name=(select Name from deleted) else delete B where Name=(select Name from deleted) end go
级联
更新
和
级联
删除
方式: ALTER TABLE [dbo].[T_USERGROUP] ADD CONSTRAINT [FK_T_USERGROUP_T_ACCTTEMPLATE] FOREIGN KEY ( [ATNAME] ) REFERENCES [dbo].[T_ACCTTEMPLATE] ( [ATNAME] ) ON UPDATE CASCADE ON DELETE CASCADE ---------------------------------------------------------------------------------------------------------------------------- 如果,现在有两张表A(id,xx.xx...),C(id,Cid,xx,xx...),预实现C中的id与A 中id
级联
删除
、
级联
更新
/数据同步,可有两种实现方式: 一. 利用sql server自带的
级联
删除
、
级联
更新
功能,即其
外键
约束途径 alter table dbo.C add constraint FK_C_A_AID foreign key(AID) references dbo.A(AID) on delete cascade on update cascade go alter table dbo.C add constraint FK_C_B_BID foreign key(BID) references dbo.B(BID) on delete cascade on update cascade go
级联
更新
和
级联
删除
方式: Alter TABLE [dbo].[T_USERGROUP] ADD CONSTRAINT [FK_T_USERGROUP_T_ACCTTEMPLATE] FOREIGN KEY ( [ATNAME] ) REFERENCES [dbo].[T_ACCTTEMPLATE] ( [ATNAME] ) ON Update CASCADE ON Delete CASCADE
sql
外键
约束
sql
外键
约束解释,foreign tag
SQL
级联
删除
与
级联
更新
的方法
代码如下:on delete cascade 当你
更新
或
删除
主键表时,那么
外键
表也会跟随一起
更新
或
删除
,需要在建表时设置
级联
属性 CREATE TABLE Countries(CountryId INT PRIMARY KEY) INSERT INTO Countries (CountryId) VALUES (1) INSERT INTO Countries (CountryId) VALUES (2) INSERT INTO Countries (CountryId) VALUES (3) CREATE TABLE Cities( CityId INT PRIMARY KEY ,Co
主键与
外键
的创建
主键与
外键
的创建,帮助新人对于其中的理解。
MS-SQL Server
34,874
社区成员
254,640
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章