问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请教:在oracle的视图中能改变列的数据类型吗

发布网友 发布时间:2022-04-07 16:48

我来回答

2个回答

懂视网 时间:2022-04-07 21:10

1、假设字段数据为空,则不管改为什么字段类型,可以直接执行:
alter table tb modify (name nvarchar2(20));

2、假设字段有数据,则改为nvarchar2(20)可以直接执行:
alter table tb modify (name nvarchar2(20));

3、假设字段有数据,则改为varchar2(40)执行时会弹出:“ORA-01439:要更改数据类型,则要修改的列必须为空”,这时要用下面方法来解决这个问题:

/*修改原字段名name为name_tmp*/
alter table tb rename column name to name_tmp;

/*增加一个和原字段名同名的字段name*/
alter table tb add name varchar2(40);

/*将原字段name_tmp数据更新到增加的字段name*/
update tb set name=trim(name_tmp);

/*更新完,删除原字段name_tmp*/
alter table tb drop column name_tmp;

总结:
1、当字段没有数据或者要修改的新类型和原类型兼容时,可以直接modify修改。
2、当字段有数据并用要修改的新类型和原类型不兼容时,要间接新建字段来转移。

oracle修改列的类型

标签:oracle10g   oracle   数据   

热心网友 时间:2022-04-07 18:18

视图的数据来源于基础表,你修改了视图的数据当然就会修改到基础表了,建议不要修改视图数据,要修改数据直接在基础表修改。 如果要把视图设置成只读后面加上With READ ONLY
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
安阳殷墟的出土文物有哪些值得一看的? 河南属于商代文物的有那些 1990年腊月初十早上6点出生的..求生辰八字... ...二分生,姓张,希望根据生辰八字取名.缺什么,补什么。 风能协会有什么永 中国西部地区风能开发研究内容简介 手相三大纹路 这5种手相“不好看”,短命的几率很大 手掌决定寿命一览表 小芳买三本笔记本和六支中性笔共用去31.5元一本笔记本的价钱相当... 做医药代表是怎样的体验? 医药代表应该具备哪些素质 谁有九年级英语书u12 B 2b的大课文翻译? 医药代表工作具体内容是什么? 英语9-12单元2b,2d翻译 做医药代表怎么样。需要需要具有什么样的素质,和知识 英语九年级全一册第十二单元94页2b翻译 九年级英语第十二单元课文翻译 英语九年级12单元课文翻译 如何理解医药代表? 九年级英语第十二单元2b翻译 做医药代表需要掌握哪些专业技能 九年级人教版英语12单元2b翻译 九年级英语12单元2b翻译? 做医药代表的真实收入 医药代表实干什么的? 猜一生肖; 猜猜生肖。。 猜一生肖! 急!! 男大当婚猜一猜十二生肖是什么 现在做医药代表还赚钱么 山药红枣甜甜圈的做法步骤图,怎么做好吃 人教版九年级英语全书课文翻译谢谢! 医药代表这个职位算是正当的吗 九年级英语。人教版全一册。一单元的B部分。2b。求解释。翻译。。 九年级英语30页2b 全文翻译 梦见吸食女人乳汁 九年级英语11单元2b翻译是什么? ppr给水管dn15x2.0什么意思 灵活就业人员生育险可以报销哪些内容 红枣山药饼怎么做好吃 所谓的利率4.9是指年利率还是月利率 灵活就业人员可以买生育保险吗 2021年灵活就业有生育保险吗 网上有些专家介绍的说是治疗皮肤之内的可以相信么 图纸说明中标注,给水管,PP-R管。DN15=20*2.8。DN15我明白,请问DN15=20*2.8后面这个是什么意思? 梦见生了一个女孩,女孩特别可爱,还吃我的乳汁。请问这是什么情况 灵活就业人员可以领取生育津贴吗? 2021年灵活就业生孩子报销吗 网上有些专家介绍个说是治疗皮肤的可信么