SQL Server語句刪除帶有預設值的欄位
打算刪除tbl_1表的col_1列,但如果此列設定有預設值的話
直接ALTER TABLE tbl_1 DROP COLUMN col_1會提示有物件存在,而無法刪除.
需要先刪除對應的預設值,然後刪除列,具體如下:
declare @sss varchar(100);
select @sss=name from sysobjects where xtype='D' and id=
(select b.cdefault from sysobjects a,syscolumns b where a.id=b.id and a.name='tbl_1' and b.name='col_1')
--print @sss
if @sss<>''
begin
exec('alter table tbl_1 drop constraint ' + @sss)
end
go
if exists(select * from sysobjects where name='tbl_1' and xtype='U')
begin
if exists(select a.* from sysobjects a,syscolumns b
where a.id=b.id and a.name='tbl_1'
and a.xtype='U' and b.name='col_1')
ALTER TABLE tbl_1 DROP COLUMN col_1
end
go
直接ALTER TABLE tbl_1 DROP COLUMN col_1會提示有物件存在,而無法刪除.
需要先刪除對應的預設值,然後刪除列,具體如下:
declare @sss varchar(100);
select @sss=name from sysobjects where xtype='D' and id=
(select b.cdefault from sysobjects a,syscolumns b where a.id=b.id and a.name='tbl_1' and b.name='col_1')
--print @sss
if @sss<>''
begin
exec('alter table tbl_1 drop constraint ' + @sss)
end
go
if exists(select * from sysobjects where name='tbl_1' and xtype='U')
begin
if exists(select a.* from sysobjects a,syscolumns b
where a.id=b.id and a.name='tbl_1'
and a.xtype='U' and b.name='col_1')
ALTER TABLE tbl_1 DROP COLUMN col_1
end
go
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29512902/viewspace-1151665/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 通用SQL語句修改欄位預設值SQL
- 用SQL語句增加刪除修改欄位SQL
- sql設定欄位預設值SQL
- oracle增加欄位帶預設值Oracle
- sqlserver採集欄位的sql語句SQLServer
- sql語句修改欄位型別和增加欄位SQL型別
- mySql刪除多個表 刪除多個欄位的SQLMySql
- SQL Server中獲取資料庫名、表名、欄位名和欄位註釋的SQL語句SQLServer資料庫
- SQL SERVER 資料庫查詢表和欄位資訊語句SQLServer資料庫
- MySQL修改欄位預設值MySql
- sql server中對日期欄位值的比較SQLServer
- sql server中預設約束的通用sql指令碼的刪除方法SQLServer指令碼
- 查詢oracle欄位預設值Oracle
- 常見的SQL語句(建立、刪除、切換)SQL
- MySQL欄位預設值設定詳解MySql
- SQL SERVER檢視列的預設值SQLServer
- MySQL-刪除欄位MySql
- jpa~為欄位新增insert的預設值
- SQL SERVER 2005 獲取表的所有索引資訊以及刪除和新建語句SQLServer索引
- 簡單查詢、插入、更新、刪除SQL語句SQL
- 帝國CMS 批次修改欄位內容sql語句SQL
- Oracle 增加修改刪除欄位Oracle
- oracle刪除表欄位和oracle表增加欄位Oracle
- Sql Server Rollup 語句的用法SQLServer
- 多個值以,分隔儲存在一個欄位精確匹配查詢 sql語句SQL
- SQL Server 自增欄位重置SQLServer
- MyBatis刪除多行,in語句的使用MyBatis
- Oracle-給表刪除欄位Oracle
- 用SQL語句刪除重複記錄的四種方法SQL
- 動態sql語句來刪除使用者下的物件SQL物件
- Oracle 查詢並刪除重複記錄的SQL語句OracleSQL
- mysqldump 欄位值帶單引號MySql
- Sql Server系列:Update語句SQLServer
- Sql Server系列:Delete語句SQLServerdelete
- SQL server 查詢語句SQLServer
- sql server中常用語句SQLServer
- SharePoint 多行文字欄位設定預設值
- PL/SQL Developer中輸入SQL語句時如何自動提示欄位SQLDeveloper