在我们应用中,有的时候需要删除先某些表的主键,然后做一些例外的操作后,再重新建立主键,可又不想通过sql server manager studio或者说,在一个程序中通过代码来进行这些操作时,我们可以写一个sql语句或者存储过程,让用户单击按钮即可实现功能。先看看删除主键吧。
删除主键:
Declare @Pk varChar(100);
Select @Pk=Name from sysobjects where Parent_Obj=OBJECT_ID('tableName') and xtype='PK';
if @Pk is not null
exec('Alter table tableName Drop '+ @Pk)
重建主键:
ALTER Table tableName ADD CONSTRAINT pkName PRIMARY KEY (pkfield)
这样,我们就可以通过.net代码动态传递table名称和主键名称来进行删除主键和重建主键了。