有時候我們需要給特定表的特定欄位添加默認約束條件.但是我們不確定這個欄位是不是已經存在一個默認約束.所以添加之前需要進行判斷.以字符型欄位為例,具體語句如下:
DECLARE @TableName NVARCHAR( 100)='TableName'
,@ColumnName NVARCHAR( 100)='ColumnName'
IF NOT EXISTS (
SELECT 0 from sys.default_constraints
WHERE
parent_object_id=OBJECT_ID(''+@TableName+'')
AND COL_NAME(parent_object_id, parent_column_id)=@ColumnName
)
BEGIN
exec ('ALTER TABLE ['+@TableName+'] ADD CONSTRAINT [DF_'+@ColumnName+'] default('''') FOR ' +@ColumnName+ '')
END