oracle如何修改某一列的数据类型

【举例】 将PM_RISK_LAWSUIT 的      由NUMBER(10)修改为 VARCHAR(128) 

当表中存在数据中,则不能直接修改列的数据类型

alter table RISK_LAWSUIT modify INITIATE_DEPT VARCHAR(128) ;


此时需要借助临时列:

1、将原列名重命名为tmp列

alter table PM_RISK_LAWSUIT rename column INITIATE_DEPT to INITIATE_DEPT_TMP;

2、添加一个新列
alter table PM_RISK_LAWSUIT add INITIATE_DEPT varchar2(128)

3、将tmp列的数据copy到新列;

update PM_RISK_LAWSUIT set INITIATE_DEPT= to_char(INITIATE_DEPT_TMP)

4、删除tmp列

alter table PM_RISK_LAWSUIT drop column INITIATE_DEPT_TMP

posted @   青岑  阅读(3886)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示
主题色彩