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

Posted

技术标签:

【中文标题】在 SQL Server 中为默认值或绑定生成脚本【英文标题】:Generate script for Default Value or Binding in SQL Server 【发布时间】:2017-01-31 09:55:20 【问题描述】:

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

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

谁能帮我为这些更改编写/生成脚本。

提前致谢!

注意:我已经检查了 this 解决方案,但没有帮助我因为我想为我最近为 Default Value or Binding

【问题讨论】:

How to set a default value for an existing column的可能重复 【参考方案1】:

使用以下查询生成默认约束的脚本,默认值为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())' 

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

【讨论】:

以上是关于在 SQL Server 中为默认值或绑定生成脚本的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SQL Server 2000 中为所有单笔表格生成脚本? [关闭]

在 SQL Server 2005 中为数据库角色成员生成脚本

如何在 SQL Server 2017 中将“生成脚本”与图形数据库对象一起使用?

怎么设置sql server时间类型datetime的默认值的呢

在 sql server 2008 中生成脚本时添加新列

MSSQL-Scripter,一个新的生成T-SQL脚本的SQL Server命令行工具