【问题标题】:How to avoid ALTER TABLE XXX ADD YYY statements in files generated by SSMS?如何避免 SSMS 生成的文件中的 ALTER TABLE XXX ADD YYY 语句?
【发布时间】:2016-05-18 13:36:14
【问题描述】:

我需要从我的 MS SQL Server 数据库生成一个 SQL 脚本。为此,我使用了 SQL Server Management 提供的“生成脚本...”工具,效果很好。

但是对于单个表,CREATE TABLE 语句中不包含某些字段。其中一些是之后使用 ALTER TABLE XXX ADD YYY 语句添加的。

如何确保所有字段都包含在 CREATE TABLE 语句中?

【问题讨论】:

  • 只要确保这些是列而不是约束。因为后者也使用相同的开场白alter table x add..
  • 约束和字段都有。但是,感谢您的评论,我意识到使用 ALTER 添加的列比我最初想象的要少得多。

标签: sql-server ssms ssms-2014


【解决方案1】:

在 ALTER TABLE 语句出现之前很可能有一个 SET 语句。在大多数情况下,这是由添加列时更改 ANSI_PADDING 引起的。现在我只是在猜测,但你能分享一下 SSMS 为该表生成的内容吗?

类似的东西:SSMS "create table" sometimes scripts defaults inline, sometimes separately

【讨论】:

  • 你说得对,在每个 ALTER TABLE YYY ADD XXX 语句块之前都有 SET ANSI_PADDING OFF 语句。我尝试使用 SET ANSI_PADDING ON 重新创建我的数据库,然后重新导出它,ALTER 语句消失了,非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-06
  • 1970-01-01
相关资源
最近更新 更多