SQL Server删除缺省约束

删除一列时,如果有缺省约束,得先删除约束才能删列,删除约束代码如下:

DECLARE @tablename VARCHAR(100), @columnname VARCHAR(100), @tab VARCHAR(100) 
SET @tablename='表名' 
SET @columnname='字段名' 
declare @defname varchar(100) 
declare @cmd varchar(100) 
select @defname = name 
FROM sysobjects so 
JOIN sysconstraints sc 
ON so.id = sc.constid 
WHERE object_name(so.parent_obj) = @tablename 
AND so.xtype = 'D' 
AND sc.colid = 
(SELECT colid FROM syscolumns 
WHERE id = object_id(@tablename) AND 
name = @columnname) 
select @cmd='alter table '+ @tablename+ ' drop constraint '+ @defname 
if @cmd is not null
exec (@cmd)

猜你喜欢

转载自xafc2370.iteye.com/blog/2019319