Eva*_*man 1 sql-server delphi alter-table delphi-7
我需要将数据库列从整数更改为字符串/文本,但我不知道如何去做.
此列用于存储标识号,但最近ID格式已更改,现在ID也包含ASCII字符(因此,通过此更改,新ID不能存储为整数).
我正在更新的应用程序是用Delphi 7编写的,并使用odbcexpress组件作为SQL Server库.
有可能ALTER TABLE用于此吗?或者是否需要将数据作为字符串复制到新列,删除旧列,并将列重命名为旧名称?
你能提供一个如何做到这一点的例子吗?我对SQL Server的工作方式不是很熟悉.
谢谢!
ALTER TABLE 正是你想要做的.
您的SQL可能如下所示:
ALTER TABLE dbo.MyTable ALTER COLUMN MyColumn VARCHAR(20) NOT NULL;
Run Code Online (Sandbox Code Playgroud)
请注意,如果您有引用此列的列,则还必须更新这些列,通常是暂时删除外键约束,进行更改,然后重新创建外键约束.
不要忘记更改依赖或下游的任何内容,例如存储过程中的任何变量或Delphi代码.
与注释相关的其他信息(谢谢,全部):
此alter column操作将保留数据,因为它将隐式转换为新类型.只要varchar的宽度足以容纳最大的转换值,int就会转换为varchar而没有问题.为了实现整体的安全性,我经常使用一个varchar(11)或更大的来处理最宽的int值:负 20亿.
| 归档时间: |
|
| 查看次数: |
1043 次 |
| 最近记录: |