【问题标题】:SQL Server: How to DROP column constraints created by SSMASQL Server:如何删除由 SSMA 创建的列约束
【发布时间】:2016-05-21 15:31:30
【问题描述】:

我有一个中型数据库(约 230 个表),它正在从 Access 2010 迁移到 SQL Server 2008 R2,从 SSMA 运行开始。 SSMA 有一堆 nvarchar 列正在添加 disallow_zero_length 检查约束。数据的性质是这些列中的长度为零是可能的(并且是合理的)。我是 SQL 脚本的新手(但我会尽可能快地学习),我想知道如何编写一个可以遍历表并删除不需要的约束的脚本?

谢谢!

【问题讨论】:

    标签: sql-server scripting


    【解决方案1】:

    下面的查询会生成一堆 SQL 删除语句。您可以将结果复制/粘贴到 SSMS 窗口中并执行它

    select 'alter table ' + t.name + ' drop constraint ' + c.name
    from sys.tables t
        inner join sys.check_constraints c on c.parent_object_id = t.object_id
    where c.name like '%disallow_zero_length%'
    

    结果是这样的:

    alter table t1 drop constraint disallow_zero_length_1
    alter table t2 drop constraint disallow_zero_length_2
    

    只需运行结果语句。

    如果这篇文章回答了您的问题,请标记为答案。

    【讨论】:

      猜你喜欢
      • 2010-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-30
      • 2010-09-09
      • 1970-01-01
      • 1970-01-01
      • 2021-03-04
      相关资源
      最近更新 更多