oracle可否直接改表字段数据类型?

oracle可否直接改表字段数据类型,我想把varchar改成clob类型,altertablePRO_CODE_STANDARDmodifyCONTENT_UBBclo... oracle可否直接改表字段数据类型,我想把varchar改成clob类型,alter table PRO_CODE_STANDARD modify CONTENT_UBB clob;这条语句没有问题吧!可是运行时却不成功,有什么好的解决办法吗?
我不是同进修改两个,刚刚粘语句的时候,没粘好. 这个字段也不是主键也不是非空字段. 另外rjiang2008所说的,先改成long,再改成clob的方法也不行. 直接改数据类型,不管改成什么类型都不行. 我有另外一种方法,就是新建一个clob类型的临时字段,然后把原字段的数据拿过来,然后再删除原字段,再把临时字段名改成原子段名,但是这样就需求五条语句, 所有这些操作只为了修改字段类型到clob, 有没有可能把这些操作整成一条SQL语句.
展开
 我来答
百度网友866da84
推荐于2016-07-31 · TA获得超过368个赞
知道小有建树答主
回答量:339
采纳率:0%
帮助的人:0
展开全部
好像不能直接转,要把varchar2类型先转成long

SQL> desc test;
Name Type Nullable Default Comments
---- ------------ -------- ------- --------
COL VARCHAR2(10) Y

SQL> alter table test modify col long;

Table altered

SQL> desc test;
Name Type Nullable Default Comments
---- ---- -------- ------- --------
COL LONG Y

SQL> alter table test modify col clob;

Table altered

SQL> desc test;
Name Type Nullable Default Comments
---- ---- -------- ------- --------
COL CLOB Y

--补充
楼主上面那做法。好像没办法一条语句完成
增加字段--update---删原来字段---改字段名
只能一步步的做

还有刚才先改long在改clob字段没成功,我估计是
这张表现有数据不能做类型转换的原因吧。

可以先创建张表备份表在原数据放到这表中,然后再修改原表
字段类型,最后在把数据导入原表

试试看吧
漂白的可乐
2009-06-25 · TA获得超过703个赞
知道小有建树答主
回答量:70
采纳率:0%
帮助的人:99.1万
展开全部
不行 lz别瞎忙活了 必须要三条以上的语句 除非你的表里没有数据才能修改字段类型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
2008_knowledge
2009-06-22 · TA获得超过126个赞
知道小有建树答主
回答量:348
采纳率:0%
帮助的人:150万
展开全部
不同同时修改2个表,你可以一个一个修改,并且如果所修改的列是主键列的话,需要先移除主键然后才能修改数据类型!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tj_angela
2009-06-22 · TA获得超过7530个赞
知道大有可为答主
回答量:6797
采纳率:75%
帮助的人:2566万
展开全部
不同同时修改2个表
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式