天天看点

sql删除约束

CREATE PROCEDURE usp_DelConstraint(@TbaleName varchar(100),@ColumnName varchar(100)) 
AS 
--declare @TbaleName varchar(100),@ColumnName varchar(100)
-------------------参数设定----------------
--set @TbaleName='p_Building'--表名
--set @ColumnName='ysxkz_jzgm'--列名
--------------------------------------------
DECLARE @DFName varchar(256)
  SELECT @DFName=[name] FROM sysobjects so 
   INNER JOIN sysconstraints sc ON so.id = sc.constid
  WHERE object_name(so.parent_obj) = @TbaleName
   AND so.xtype = 'D' AND sc.colid =(SELECT colid FROM syscolumns WHERE id = object_id(@TbaleName) AND name = @ColumnName)

  if @DFName is not null and @DFName <> ''
  Begin
   declare @sql varchar(300)
   set @sql='alter table ' + @TbaleName + ' drop constraint '[email protected]
   exec(@sql)
  End
GO           
--执行删除约束           
exec usp_DelConstraint 'p_Building','ysxkz_jzgm';