举个例子:有两个表A和B
A中有sysid(标识字段),Baseinfo字段
B中有Name,NationID字段B中的NationID字段取A中的sysid值,但也可以为空!!有这样的问题:
要求如果B中的某条记录通过nationid已经关联到了A中某个sysid,则A中的这条记录就
不能被删除,否则就允许被删除.这种关系如何建立.通过SQL中的级关联应该是使用不了吧???因为外键建立不起来呀...????
难道一定要在程序中判断吗?
A中有sysid(标识字段),Baseinfo字段
B中有Name,NationID字段B中的NationID字段取A中的sysid值,但也可以为空!!有这样的问题:
要求如果B中的某条记录通过nationid已经关联到了A中某个sysid,则A中的这条记录就
不能被删除,否则就允许被删除.这种关系如何建立.通过SQL中的级关联应该是使用不了吧???因为外键建立不起来呀...????
难道一定要在程序中判断吗?
alter table B
add constraint FK_tt
foregin key(NationID)
references A(sysid)
on delete no action --要求如果B中的某条记录通过nationid已经关联到了A中某个sysid,则A中的这条记录就
不能被删除,否则就允许被删除.
on update no action
B中的NationID(外) 和 A中的sysid(主)
但不要选择级联删除