0

使用 vsdbcmd.exe 在两个 dbschema 之间生成差异脚本时,有时会得到一个意外的输出,其中包含一些没有约束名称的删除约束:

GO
PRINT N'Dropping On column: ColumnName ...';    

GO
ALTER TABLE TableName DROP CONSTRAINT ;

在我们的模式中,此列具有默认值约束,具有自动生成的名称。我希望 vsdbcmd.exe 生成一个有效的 ALTER TABLE sql 语句,如 msdn 库中所指定:

更改表 [数据库名称。[模式名称]。| 模式名称。] table_name DROP { [ CONSTRAINT ] 约束名 | COLUMN 列名 }

您知道什么会阻止 vsdbcmd.exe 生成有效的 sql 语句吗?

4

1 回答 1

0

仅当约束具有生成的名称时才会出现此问题。明确命名的约束不受影响。因此,这个解决方案是命名每个约束。

于 2014-02-13T13:18:24.227 回答