首页 > 数据库 >Oracle-修改字段类型方法总结

Oracle-修改字段类型方法总结

时间:2024-02-04 22:13:30浏览次数:37  
标签:总结 tmp name 修改 test Oracle table alter

有一个表名为test,字段段名为name,数据类型nchar(20)。

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

2、假设字段有数据,这时再来修改表的字段类型就无法修改:
alter table test modify (name nvarchar2(20));

3、假设字段有数据,则改为varchar2(40)执行时会弹出:“ORA-01439:要更改数据类型,则要修改的列必须为空”,这时要用下面方法来解决这个问题:
/*修改原字段名name为name_tmp*/
alter table test rename column name to name_tmp;

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

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

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

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

标签:总结,tmp,name,修改,test,Oracle,table,alter
From: https://www.cnblogs.com/zhangkaimin/p/18007086

相关文章

  • 2/4总结:DP
    数位dp:求区间【l,r】内有多少满足条件的数windy数记忆化递归搜索+处理限制条件前缀优化:solve(r)-solve(l-1);-->包括边界限制条件之区间内:判断前面所有位数是否都为上界        limit&&(i==maxn)?=1限制条件之前导零:判断前面所有位数是否......
  • 第2章数据是二进制数表示的 总结
    1用二进制数表示计算机信息的原因计算机内部是由IC"这种电子部件构成的有的有数个乃至数百个引脚;有的则像插花用的针盘,引脚在IC内部并排排列着。IC的所有引脚,只有直流电压0V或5V两个状态。所以IC的一个引脚,只能表示两个状态。IC的这个特性,决定了计算机的信息数据只能用二进制......
  • 寒假集训总结
    图论拓扑排序定义在一张图上,将所有节点排序,使得每个节点的父节点都在其前面出现。如果图上有环,则这张图没有拓扑序。模版(BFS)booltopo(){queue<int>q;for(inti=1;i<=n;i++)if(!deg[i])q.push(i);while(!q.empty()){cnt++;intu=q.f......
  • 2024.2.4寒假每日总结26
    算法题:292.Nim游戏-力扣(LeetCode)LeetCodeNim游戏292.Nim游戏-力扣(LeetCode)题目描述你和你的朋友,两个人一起玩Nim游戏:桌子上有一堆石头。你们轮流进行自己的回合,你作为先手。每一回合,轮到的人拿掉1-3块石头。拿掉最后一块石头的人就是获胜者。......
  • 2.4寒假每日总结25
    误详情:使用IDEA直接连接数据库报错:Serverreturnsinvalidtimezone.Goto'Advanced'tabandset'serverTimezone'propertymanually.错误原因:MySQL驱动中默认时区是UTC,与本地时间有时差。解决方案:点开最右侧导航栏Advanced,找到serverTimezone,在value处填写GMT保存 ......
  • 寒假第二周——训练总结
    题解1A题,给n个英文字母,你可以组成最长的回文串长度是多少?现在,请你利用程序帮助算出他能构成的最长回文串的长度是多少。用桶排的方法,记录字母的数量,然后把双数的数量×2,加上超过二的单数/2的奇数加1即可,需要判断只需要有一个超过2的奇数就在结果加一就行。A——A点击查看......
  • 如何做好一个信息系统项目经理,一个项目经理的个人体会和经验总结(四)
    前言说完了在项目开发阶段我的一些个人体会和经验总结,最后我们聊聊在项目验收阶段我们需要关注哪些方面的内容……项目验收阶段系统开发告一段落后,就进入客户培训、系统验收阶段,这个阶段,我一般会注意以下几个问题:1.给客户做培训前,多注意一些表面功夫大多数客户其实并不......
  • 【DM】修改集合(嵌套表类型)中数据
    declaretyperecord_tableisrecord(idint,valvarchar(128),namevarchar);typev_tableistableofrecord_table;tempChangev_table;begin--BULKCOLLECT批量的执行;selectnum,val,'zidingyi'bulkcollectintotempChangefromtable......
  • [office] 如何禁止修改excel函数内容公式?
    第一步,点击左上角“全选”按钮,设置单元格格式→保护→取消“锁定”复选框。第二步,按F5→定位→公式→设置单元格格式→保护→勾选“锁定”复选框。第三步,工具→保护→保护工作表。说明:保护工作表只对有“锁定”的单元格有效,“隐藏”可以让人不能看到公式的具体情况......
  • Oracle向数据库插入日期格式数据
    插入系统日期insertintostudent(sno,sname,birthdate)values(007,'omit',sysdate);插入Oracle数据库指定格式的日期insertintostudent(sno,sname,birthdate)values(008,'Ding','18/11月/2022');使用todate()插入其他格式的日期(最常用)insertintostudent(sno,sname,......