程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 刪除sql server數據庫表某一列的默認值

刪除sql server數據庫表某一列的默認值

編輯:關於SqlServer

在SQL Server 中,如果給表的一個字段設置了默認值,就會在系統表sysobjects中生成一個默認約束。
如果想對這個設置了默認值的字段進行相關操作,比如更改該列的類型,刪除該列等操作 時就會報錯。所以在對此字段進行相關操作前, 可以使用下面的腳本先對默認值的約束刪除:

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 A JOIN sysconstraints sc ON A.id = sc.constid WHERE object_name(A.parent_obj) = @tablename AND A.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 null print 'No default constraint to drop'exec (@cmd)
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved