有没有简单的方法来删除SQL数据库的所有默认值?

mat*_*uma 3 sql-server sql-server-2005 sql-server-2008

我想删除在特定数据库中设置的所有默认值,是否有一个脚本可以运行为数据库中的所有表执行此操作?可能有点耗费时间没有...任何帮助将不胜感激!

mar*_*c_s 5

如果您使用的是SQL Server 2005及更高版本,则可以使用此脚本创建另一个脚本,然后删除所有默认约束:

SELECT 
    'ALTER TABLE dbo.' + OBJECT_NAME(parent_object_id) + 
    ' DROP CONSTRAINT ' + Name
FROM
    sys.default_constraints
Run Code Online (Sandbox Code Playgroud)

这将创建一系列语句作为输出

ALTER TABLE dbo.YourTable DROP CONSTRAINT DF_T_YourColumn
Run Code Online (Sandbox Code Playgroud)

将输出复制到另一个SQL Server Management Studio查询窗口并执行它,您应该完成!