您当前位置:优侠库 > 资讯攻略 >
来源:未知
2020-01-24 04:25:27 浏览: 分类:资讯攻略

sql server 中删除默认约束的通用sql脚本

在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

攻略资讯
安卓软件
安卓游戏