代码之家  ›  专栏  ›  技术社区  ›  mattruma

是否有一种简单的方法可以删除SQL数据库的所有默认值?

  •  3
  • mattruma  · 技术社区  · 15 年前

    我想删除在特定数据库中设置的所有默认值,是否有一个脚本可以运行它来为数据库中的所有表执行此操作?如果没有…任何帮助都将不胜感激!

    2 回复  |  直到 15 年前
        1
  •  5
  •   marc_s    15 年前

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

    SELECT 
        'ALTER TABLE dbo.' + OBJECT_NAME(parent_object_id) + 
        ' DROP CONSTRAINT ' + Name
    FROM
        sys.default_constraints
    

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

    ALTER TABLE dbo.YourTable DROP CONSTRAINT DF_T_YourColumn
    

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

    马克

        2
  •  3
  •   Andomar    15 年前

    您可以生成一个脚本来删除所有默认约束:

    SELECT 'alter table ' + object_name(parent_object_id) + 
        ' drop constraint ' + name
    FROM sys.objects
    WHERE type = 'D'
    
    推荐文章