删除时,我有3个表:SQL Server中执行所有子记录的删除父
Create TABLE Subjects
(
SubjectID INT PRIMARY KEY NOT NULL IDENTITY(1,1),
SubjectName VARCHAR(20) NOT NULL,
ClassID VARCHAR(10) FOREIGN KEY REFERENCES Classes(ClassID) NOT NULL
);
Create TABLE Topic
(
TopicID INT PRIMARY KEY NOT NULL IDENTITY(1,1),
TopicName VARCHAR(100),
SubjectID INT FOREIGN KEY REFERENCES Subjects(SubjectID)
);
Create Table Worksheet
(
WorksheetName varchar(100) PRIMARY KEY,
TopicID INT Foreign KEY References Topic(TopicID),
Num_Q INT NOT NULL,
W_Type varchar(30)
);
每一种是一对多的关系。当我尝试从主题中删除时,我得到了一个很好的外键约束。我想知道的是如何解决此问题并执行查询以级联样式删除所有相关方面。我查了一下,但还有,但我不确定它是如何工作的,似乎有多个查询。创建一个触发器还是有一个基本的级联功能可以完成这一切?我使用visual studio来执行查询,但不知道执行此类任务的选项在哪里?
你想'在删除级联'作为外键关系的一部分。这是一个合理的解释:http://www.techonthenet.com/sql_server/foreign_keys/foreign_delete.php。 –