关于数据的级联更新,请高手回答。(100分)

  • 主题发起人 主题发起人 greek_myth
  • 开始时间 开始时间
G

greek_myth

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在有两个表A(a,b)和B(a,c),其中a是表A中的主键,B中的a与A中的a建立外键约束。我想通过程序修改A中的a以及对应的B中的a,应该如何实现?谢谢指点!
 
什么数据库啊,数据库管理工具里做设置就可以了拉
 
SQL Server2000,我想在delphi里通过程序实现数据的修改,不知道代码如何写?
需要用CASCADE吗?
 
create table B(
a int
b varchar(50)
constraint foreign key FK_A a references A(a)
on update cascade
)
注:cascade就是级联更新,不信可在企业管理器中做修改测试
这一功能由数据库DBMS提供
 
一旦使用了cascade就无须再在程序中处理一致性
 
如果已经在B中的a与A中的a建立外键约束关系的话,
直接更新A表的a字段,自然会同时更新B表的a字段啊。

在A表或B表的设计表中,选择“关系”,新建一个对应关系,主键表设置为A表,外键表设置为B表,两个表都选择a字段。
然后把“对复制强制关系”、“对INSERT和UPDATE强制关系”,“级联更新相关字段”,“级联删除相关字段”都选上就OK了。
 
你的问题出在表的设计上,如果a是主键就不应该改动值了。要想改的话,可以放到视图
中来解决。不过我考虑还是改动一下表的结构吧。
 
suger, 谢谢,问题解决了!
 
111111111111111111111111
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
后退
顶部