码迷,mamicode.com
首页 > 数据库 > 详细

sql server删除主键约束所想到的

时间:2015-06-30 17:44:46      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:

从网上找到了下面一段代码:

declare @Pk varchar(100);
select @Pk=Name from sysobjects where Parent_Obj=OBJECT_ID(‘表名‘) and xtype=‘PK‘;
if @Pk is not null
begin
exec(‘Alter table 表名 Drop ‘+ @Pk) --删除原主键
end

这里的重点是表sysobjects,sysobjects表是系统表,在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行,上面的xtype是表示的是类型,比如PK是主键,F是外键,也就是说,删除外键的话,只需要把PK改为F就可以了,同理还有默认约束D等等。

exec(‘sql语句‘)是一个存储过程,执行sql语句

其实,利用好sysobjects这个表的话,我们可以作不少文章的,比如看一个对象(表、数据库、存储过程等)是否存在

 

sql server删除主键约束所想到的

标签:

原文地址:http://www.cnblogs.com/klbc/p/4610918.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!