【发布时间】:2011-10-04 06:48:52
【问题描述】:
我需要将所有 varchar 列更改为 nvarchar 类型。我在此线程 SQL Server - script to update database columns from varchar to nvarchar if not already nvarchar 的帮助下生成了一个脚本。
但是,此脚本无法更改复合主键列。我们的表中有 许多 个复合键,因此无法手动完成。
有没有办法编写从 varchar 复合键到 nvarchar 的更改脚本?
【问题讨论】:
-
不容易 - 您必须 1) 找到所有包含 varchar 列的 PK,然后 2) 删除所有引用它们的外键约束,3) 删除 PK,4) 更改列类型, 5) 重新创建 PK 和 6) 重新创建所有 FK 约束...都可以编写脚本,但工作量很大......
-
@marc_s 所说的除了我说它相当简单。不过,既费时又乏味。也许有人已经有一个工具来自动化这个......?
标签: sql sql-server-2005 primary-key composite-key sql-scripts