我有一个中型数据库(~230表),从SS10迁移到SQL Server 2008 R2,从SSMA运行开始。有一堆nvarchar列,SSMA正在添加disallow_zero_length检查约束。数据的性质是这些列中存在零长度值是可能的(也是合理的)。我是SQL脚本的新手(但我尽可能快地学习),我想知道如何编写一个可以遍历表并删除不需要的约束的脚本?
谢谢!
答案 0 :(得分:4)
下面的查询生成一堆SQL drop语句。您可以将结果复制/粘贴到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
只需运行结果语句。
如果这篇文章回答了你的问题,请标记为答案。