修改主鍵的SQL

iSQlServer發表於2010-09-14
declare @defname varchar(100)
declare @cmd varchar(500)
declare @tablename varchar(100)
declare @keyname varchar(100)

Set @tablename='Temp1'
Set @keyname='id' --需要設定的key,分隔

select @defname= name
   FROM sysobjects so
   JOIN sysconstraints sc
   ON so.id = sc.constid
   WHERE object_name(so.parent_obj) = @tablename
   and xtype='PK'

if @defname is not null
begin
select @cmd='alter table '+ @tablename+ ' drop constraint '+ @defname
--print @cmd
   exec (@cmd)
 end
else
 set @defname='PK_'+@keyname


select @cmd='alter table '+ @tablename+ ' ADD constraint '+ @defname +' PRIMARY KEY CLUSTERED('+@keyname+')'
   exec (@cmd)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-673836/,如需轉載,請註明出處,否則將追究法律責任。

相關文章