问题描述:
我想做一个简易的单板块的论坛,有帖子表和回复表,回复表里有帖子编号字段和回复编号字段,帖子编号是外键。有一个功能就是管理员把一条留言删除后相应的回复自动删除。请问在sql中如何设置
解析:
也可以用建立关系来实现,打开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 语句的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这个简单哎1.先删除已经建立的外键约束
alter
table
SC
drop
constraint
外键名
--外键名可在表架构里查到
2.重建外键约束并且加入级联删除项
Alter
TABLE
sc
ADD
CONSTRAINT
[FK_sc]
FOREIGN
KEY
(sno)
REFERENCES
student(sno)
ON
Update
CASCADE
ON
Delete
CASCADE
--本行表示级联删除的开启
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)