当前位置: 代码迷 >> Sql Server >> 这两句什么意思解决思路
  详细解决方案

这两句什么意思解决思路

热度:57   发布时间:2016-04-27 14:01:15.0
这两句什么意思
IF OBJECT_ID(N'[dbo].[FK_ClassStudent]', 'F') IS NOT NULL
  ALTER TABLE [dbo].[T_Student] DROP CONSTRAINT [FK_ClassStudent];
GO
IF OBJECT_ID(N'[dbo].[FK_ClassTeacher]', 'F') IS NOT NULL
  ALTER TABLE [dbo].[T_Teacher] DROP CONSTRAINT [FK_ClassTeacher];
GO

这两句什么意思???怎样判断的,删除了什么约束???

------解决方案--------------------
看字面意思是删除表的外键约束,
OBJECT_ID(‘对象名称’)是系统函数,返回系统sysobjects中的对象id,
对象可以是表,视图,函数,存储过程,索引,约束等等object!
------解决方案--------------------
判断约束名是否存在,如果存在就删除相关约束
------解决方案--------------------
SQL code
IF OBJECT_ID(N'[dbo].[FK_ClassStudent]', 'F') IS NOT NULL  ALTER TABLE [dbo].[T_Student] DROP CONSTRAINT [FK_ClassStudent];GO如果...不为空,删除...下同‘引号里的’内容可以是表明,函数名,触发器,约束等IF OBJECT_ID(N'[dbo].[FK_ClassTeacher]', 'F') IS NOT NULL  ALTER TABLE [dbo].[T_Teacher] DROP CONSTRAINT [FK_ClassTeacher];GO
  相关解决方案