在sql server中,如果为表的字段设置了默认值,将在系统表sysobjects中生成默认约束。
如果要删除设置了默认值的字段(假设字段名为column1),请执行“ALTER TABLE TABLE 1 DROP COLUMN 1 & quot;将报告一个错误:
以下是引用的内容:
对象“DF__xxxxxxxxxxx”依赖于列“column1”。
ALTER TABLE DROP COLUMN COLUMN 1失败,因为一个或多个对象正在访问此列。
以下是引用的内容:
-此脚本删除通过设置默认值生成的默认约束。
DECLARE @ tablename VARCHAR(100),@columnname VARCHAR(100),@ tab VARCHAR(100)
SET @ tablename = ' countrygroupemailandwaitax '
SET @ column name = ' actionOfHasNoValidEmail '
declare @ defname varchar(100)
declare @ cmd varchar(100)
SELECT @ defname = name
FROM sys objects so
JOIN sys constraints sc
ON so . id = sc . consid
WHERE object _ name(so . parent _ obj)= @ tablename
AND so . xtype = ' D '
AND sc . colid =
(SELECT colid FROM sys columns
WHERE id = object _ id(@ tablename)AND
name = @ column name)
select @ cmd = ' alter table '+@ tablename+' drop constraint '+@ defname
if @ cmd is null print ' No default constraint to drop '
exec(@ cmd)
更改表table1删除列column1
可以删除该字段。
关键词:sqlserver、通用sql脚本
优侠库网站每天提供最新最热门的安卓手机软件、游戏下载、分享热门手游资讯攻略教程、手机软件教程步骤,专注安卓手机游戏软件下载。本文链接:http://www.123down.cn/gonglue/227280.html