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

使用SQL語句刪除帶用默認值的列

編輯:關於SqlServer

在企業管理器中刪除字段是方便了些,但對於數據量大的表,往往要等上好久,很考驗人的耐性。

使用SQL來操作相對來說比較快滴,但往往有好多問題,比如刪除某個字段,使用如下語句:

alter table table_name drop column column_name  

在字段沒有默認值的時候可以刪除,一旦字段有默認值,就會出現:對象'DF_table_name_column_name' 依賴於 列'column_name'。由於一個或多個對象訪問此列,ALTER TABLE DROP COLUMN column_name 失敗。錯誤警報。

此刻怎麼辦呢,當然首先去掉此列的默認值了。難道沒有SQL語句可以實現這個操作麼?看下邊的語句:

declare @name varchar(20)
select @name = b.name from sysobjects b join syscolumns a on
b.id = a.cdefault where a.id = object_id('table_name') and a.name = 'column_name'
exec('alter table test drop constraint ' + @name)

去掉列的默認值後(其實是去掉列約束),再執行alter table table_name drop column column_name 語句,列被刪除了。當然也可以一起執行整個語句。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved