sup*_*cal 2 sql sql-server refactoring
我message在数据库中有一个表,几乎有一百万行。它有一externalId列是varchar(50). 存储在其中的值是 guid 但我想将此列更新为uniqueidentifier.
所以我想我要添加一个新的列,它是uniqueidentifier. 将所有值复制到此列,然后删除原始列。然后我将此列重命名为externalId.
我的问题是有数百个存储过程等,我需要确保我没有破坏任何东西。我还必须对所有代码进行 grep 并进行更改,以便我们期望使用 Guid 而不是字符串。(我正在使用 C#)
有没有人有一些提示或建议?
我会不会更好地只复制此列而不触及现有列,并使任何对其进行选择的代码使用 guid 列而不是字符串(目前它有时会超时!)。我还必须更新任何代码,然后插入该表以插入 guid ......)
我喜欢传统的废话………………
你可以简单地
alter table message
alter column externalId uniqueidentifier
Run Code Online (Sandbox Code Playgroud)
风险在于,如果列中存储的任何值不是 guid,您将看到如下错误:
Conversion failed when converting from a character string to uniqueidentifier.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3822 次 |
| 最近记录: |