SQL脚本开发总结~sql 增删主键
-------------------------------------------------------------------/*更新主键*/
begin try
declare @defname varchar(100)  
declare @cmd varchar(500)  
declare @tablename varchar(100)  
declare @keyname varchar(100)  
declare @keyColumn varchar(100)  
Set @tablename='你的表名' 
Set @keyname='你的新主键' --需要設置的key,分隔  
set @keyColumn='新主键数据定义'------------------例如'DepartmentRelationID nvarchar(50) default(NEWID())'---出现多个逗号隔开
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
begin
 set @defname='PK_'+@tablename   
select @cmd='alter table '+ @tablename+ ' ADD  '+@keyColumn+' constraint '+ @defname +' PRIMARY KEY('+@keyname+')'  
   exec (@cmd) 
   exec('sys.sp_addextendedproperty @name=N''MS_Description'', @value=N''关系标识'' , @level0type=N''SCHEMA'',@level0name=N''dbo'', @level1type=N''TABLE'',@level1name=N'''+@tablename+''', @level2type=N''COLUMN'',@level2name=N'''+@keyname+'''')
print '修改'+@tableName+'主键成功'
end
end try
begin catch
print ERROR_MESSAGE()
end catch
Go---
---------------------------------------------------------------------------------------------------------------
                    
                
                
            
        
浙公网安备 33010602011771号