另外那个被关联的表,被称为主表
这个时候,主表中被关联的字段名,不能直接被修改
要解决这个问题,就可以用到级联更新
在添加外键的时候,可以进行级联更新设置:
//向表中添加外键
alert table (表名) ADD CONSTRAINT (外键名称) FORGEIN KEY (表中的外键字段) REFERENCES
主表名 (被关联的字段) on UPDATECASCADE
//设置完成后,就可以直接更改主表中被关联的字段了
//还可以在添加外键的时候直接设置级联删除 *** 作
alert table (表名) ADD CONSTRAINT (外键名称) FORGEIN KEY (表中的外键字段) REFERENCES
主表名 (被关联的字段) on UPDATECASCADE on DELETE CASCADE
//这样就可以直接删除柱表中被关联的字段了
相关阅读:
触发器方式: 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 语句的CONSTRAINT子句中使用ON Update CASCADE 和/或 ON Delete CASCADE 关键字。注意他们都必须是应用于外键的。 级联更新和级联删除方式: 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欢迎分享,转载请注明来源:内存溢出
评论列表(0条)