在SQL Server中生成默认值或绑定的脚本

时间:2017-01-31 09:55:21

标签: sql-server sql-server-2012 sql-server-2014 sql-scripts

最近我在表格设计中将 Default Value or Binding 的值设置为 (newid())

现在我想为更改在另一个数据库上执行生成脚本。

任何人都可以帮助我编写/生成脚本来进行这些更改。

提前致谢!

注意:我已经检查了 this 解决方案,但没有帮助我因为我想为我最近更改过的所有表生成脚本的 Default Value or Binding

1 个答案:

答案 0 :(得分:2)

使用以下查询生成默认值为newid()

的默认约束的脚本
SELECT 'alter table ' + Quotename(o.name)
       + ' add constraint ' + Quotename(dc.name)
       + ' default ' + dc.definition + ' for '
       + Quotename(c.name)
FROM   sys.default_constraints dc
       INNER JOIN sys.columns c
               ON dc.parent_object_id = c.object_id
                  AND dc.parent_column_id = c.column_id
       INNER JOIN sys.objects o
               ON o.object_id = dc.parent_object_id
WHERE  definition = '(newid())' 

将结果粘贴到新数据库并执行它创建默认约束。