詳解Oracle修改字段類型方法總結(jié)
最近學(xué)習(xí)了Oracle修改字段類型方法,留做記錄。
有一個(gè)表名為tb,字段段名為name,數(shù)據(jù)類型nchar(20)。
1、假設(shè)字段數(shù)據(jù)為空,則不管改為什么字段類型,可以直接執(zhí)行:
alter table tb modify (name nvarchar2(20));
2、假設(shè)字段有數(shù)據(jù),則改為nvarchar2(20)可以直接執(zhí)行:
alter table tb modify (name nvarchar2(20));
3、假設(shè)字段有數(shù)據(jù),則改為varchar2(40)執(zhí)行時(shí)會(huì)彈出:“ORA-01439:要更改數(shù)據(jù)類型,則要修改的列必須為空”,這時(shí)要用下面方法來解決這個(gè)問題:
/*修改原字段名name為name_tmp*/
alter table tb rename column name to name_tmp;
/*增加一個(gè)和原字段名同名的字段name*/
alter table tb add name varchar2(40);
/*將原字段name_tmp數(shù)據(jù)更新到增加的字段name*/
update tb set name=trim(name_tmp);
/*更新完,刪除原字段name_tmp*/
alter table tb drop column name_tmp;
總結(jié):
1、當(dāng)字段沒有數(shù)據(jù)或者要修改的新類型和原類型兼容時(shí),可以直接modify修改。
2、當(dāng)字段有數(shù)據(jù)并用要修改的新類型和原類型不兼容時(shí),要間接新建字段來轉(zhuǎn)移。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
oracle求字符串長度函數(shù)length()和hengthb()簡(jiǎn)介
這篇文章主要介紹了Oracle求字符串長度函數(shù)length()和hengthb()簡(jiǎn)介,具有一定參考價(jià)值,需要的朋友可以了解下。2017-09-09Oracle查詢語句中rownum與rowid的不同之處分析
這篇文章主要介紹了Oracle查詢語句中rownum與rowid的不同之處分析,需要的朋友可以參考下2014-07-07Oracle的RBO和CBO詳細(xì)介紹和優(yōu)化模式設(shè)置方法
這篇文章主要介紹了Oracle的RBO和CBO詳細(xì)介紹和優(yōu)化模式設(shè)置方法,RBO即基于規(guī)則的優(yōu)化方式(Rule-Based Optimization),CBO即基于代價(jià)的優(yōu)化方式(Cost-Based Optimization),需要的朋友可以參考下2014-07-07Oracle解鎖表、包、用戶、殺會(huì)話、停job的方法實(shí)現(xiàn)
本文主要介紹了Oracle解鎖表、包、用戶、殺會(huì)話、停job的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-12-12CentOS系統(tǒng)上安裝配置Oracle數(shù)據(jù)庫的詳細(xì)教程
這篇文章主要介紹了CentOS系統(tǒng)上安裝配置Oracle數(shù)據(jù)庫的詳細(xì)教程,包括安裝過程中一些常見錯(cuò)誤問題的解決,需要的朋友可以參考下2016-03-03如何解決Oracle EBS R12 - 以Excel查看輸出格式為“文本”的請(qǐng)求時(shí)亂碼
這篇文章主要介紹了如何解決Oracle EBS R12 - 以Excel查看輸出格式為“文本”的請(qǐng)求時(shí)亂碼的相關(guān)資料,需要的朋友可以參考下2015-09-09oracle與gbase8s遷移數(shù)據(jù)類型對(duì)照以及舉例說明
gbase8s是一個(gè)高性能的分布式關(guān)系型數(shù)據(jù)庫,下面這篇文章主要給大家介紹了關(guān)于oracle與gbase8s遷移數(shù)據(jù)類型對(duì)照以及舉例說明的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12