创建表格
create table Student
(
Sno char(9) primary key,
Sname char(20) unique,
Ssex char(2),
Sage smallint,
Sdept char(20)
);
create table SC
(
Sno char(9),
Cno char(4),
grade smallint,
primary key(Sno,Cno),
foreign key (Sno) references Student(Sno),
foreign key(Cno) references Course(Cno)
);
create table Course
(
Cno char(4) primary key,
Cname char(40) not null,
Cpno char(4),
Ccredit smallint,
foreign key(Cpno) REFERENCES Course(Cno)
);
drop table Student
想要删除Student表格,结果报错:
无法删除对象 ‘Student’,因为该对象正由一个 FOREIGN KEY 约束引用。
执行:
select fk.name,fk.object_id,OBJECT_NAME(fk.parent_object_id) as referenceTableName
from sys.foreign_keys as fk
join sys.objects as o on fk.referenced_object_id=o.object_id
where o.name='Student'
ALTER TABLE dbo.SC DROP CONSTRAINT FK__SC__Sno__1B29035F
drop table Student
参考: