oracle怎么修改字段 oracle怎么修改字段類型

oracle已經建好的表怎么修改字段大小?

只能改大。沒有數據可能直接用 alter table table_name modify column datatype;

我們提供的服務有:成都網站制作、做網站、微信公眾號開發、網站優化、網站認證、鼓樓ssl等。為1000多家企事業單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的鼓樓網站制作公司

如果有數據,改小的話可以會丟失數據。

根據字段類型決定

alter table 表名 modify 字段名 varchar2(長度); 或

alter table 表名 modify 字段名 number(長度 );

比如:

表:stu(name varchar2(20)) 要將字段name的長度改為10

表中有一條數據:name(中國華西村刀光劍影) 長度超過10,截取的時候必然要丟失數據。

當然 如果表中的數據長度都小于10,則可以用sql語句段來直接搞定。

begin

alter table stu add (name2 varchar2(10)); ? 增加新字段

update stu set name2=substr(trim(name),1,10); ?賦值給新字段

alter table stu drop(name); ? ? ? ? ? ? ? ? ? ? ? ? ? 刪除原字段

alter table stu rename column name2 to name; 將新字段改名end;

oracle修改字段類型的方法

因為業務需要 修要修改某個字段數據類型有number( ) 變為number( )型

要是沒有數據的話直接用以下語句即可

alter?? table tb_test modify permile number( );

但是有數據的話 就不能用上面方法了

alter table tb_test add permile_temp number( )

update tb_test set permile_temp=permile;

alter table drop column permile;

alter table test rename column permile_temp to permile;

這種方法會使列名發生變化 而且字段順序增加 有可能發生行遷移 對應用程序會產生影響

以下方法是比較好的方法

不用使列名發生變化 也不會發生表遷移 但這個有個缺點是表要更新兩次

如果數據量較大的話 產生的undo和redo更多 前提也是要停機做

要是不停機的話 也可以采用在線重定義方式來做

以下是腳本:

alter table tb_test add permile_temp number;

Add/modify columns

alter table tb_test modify PERMILE null;

update tb_test set permile_temp=permile permile=null;

mit;

alter table tb_test modify permile number( );

update tb_test set permile=permile_temp permile_temp=null;

mit;

alter table tb_test drop column permile_temp;

alter table tb_test modify PERMILE not null;

lishixinzhi/Article/program/Oracle/201311/17913

oracle修改字段類型由varchar2修改為clob類型

發現clob類型比較特殊,和其他字段類型不同,不可以從其他字段類型直接轉換為clob(blob也一樣),可以通過long類型作為中間轉換的橋梁,即先將varchar2轉換為long,然后再將long轉換為clob,即可。

SQL alter table test modify (loc long );

Table altered

SQL alter table test modify (loc clob );

Table altered

2、假設要修改字段有數據,則可以使用以下兩種方法;

方法一:

alter table batchintfloadlog rename column resultinfo to resultinfo_temp;

alter table batchintfloadlog add resultinfo clob;

update batchintfloadlog set resultinfo=trim(resultinfo_temp);

alter table batchintfloadlog drop column resultinfo_temp;

方法二:

create table batchintfloadlog_temp ?as select * from batchintfloadlog where 1=2;?

alter table batchintfloadlog_temp modify (resultinfo long);?

alter table batchintfloadlog_temp modify (resultinfo clob);?

insert into batchintfloadlog_temp select * from batchintfloadlog;

drop table batchintfloadlog;?

rename batchintfloadlog_temp to batchintfloadlog;

oracle中怎么更改表中字段名

首先方法是使用RENAME關鍵字:

修改字段名:alter table 表名 rename column 現列名 to 新列名;

修改表名:alter table 表名 rename to 新表名

增加字段語法:alter table tablename add (column datatype [default value][null/not null],….);

說明:alter table 表名 add (字段名 字段類型 默認值 是否為空);

例:alter table sf_users add (HeadPIC blob);

例:alter table?sf_users add (userName varchar2(30) default?'空' not null);

修改字段的語法:alter table tablename modify (column datatype [default value][null/not null],….);

說明:alter table 表名 modify (字段名 字段類型?默認值 是否為空);

例:alter table sf_InvoiceApply modify (BILLCODE number(4));

刪除字段的語法:alter table tablename drop (column);

說明:alter table 表名 drop column 字段名;

例:alter table sf_users drop column HeadPIC;

字段的重命名:

說明:alter table 表名 rename ?column? 列名 to 新列名?? (其中:column是關鍵字)

例:alter table sf_InvoiceApply rename column PIC to NEWPIC;

表的重命名:

說明:alter table 表名 rename to? 新表名

例:alter table?sf_InvoiceApply rename to??sf_New_InvoiceApply;

Oracle修改字段名、字段數據類型

語句:

alter table tableName rename column oldCName to newCName; -- 修改字段名

alter table tableName modify (cloumnName 數據類型); -- 修改數據類型

例如:

1、創建表:

CREATE TABLE Student(

id varchar2(32) primary key,

name varchar2(8) not null,

age number

);

2、修改字段名:

alter table Student rename column name to StuName;

3、修改數據類型:

alter table Student modify (id varchar2(64));

清醒時做事,糊涂時讀書,大怒時睡覺,獨處時思考;做一個幸福的人,讀書,旅行,努力工作,關心身體和心情,成為最好的自己

新聞標題:oracle怎么修改字段 oracle怎么修改字段類型
標題URL:http://m.kartarina.com/article10/hgsego.html

成都網站建設公司_創新互聯,為您提供微信公眾號云服務器網站收錄軟件開發網站導航面包屑導航

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

h5響應式網站建設
主站蜘蛛池模板: 69ZXX少妇内射无码| 亚洲色中文字幕无码AV| 免费无码又爽又刺激聊天APP| 中文字幕无码成人免费视频| 无码不卡中文字幕av| 久久激情亚洲精品无码?V | 精品无码人妻一区二区三区品| 久久人妻少妇嫩草AV无码专区| 国产成人精品无码专区| 色窝窝无码一区二区三区| 伊人蕉久中文字幕无码专区 | 玖玖资源站无码专区| 久久无码AV中文出轨人妻| 久久AV无码精品人妻出轨| 人妻av无码一区二区三区| 久久精品无码一区二区三区| 亚洲国产AV无码一区二区三区| 伊人久久精品无码av一区| 免费人妻无码不卡中文字幕18禁| 精品无码一区二区三区爱欲九九| 国产在线无码视频一区二区三区| 日韩av片无码一区二区三区不卡| 亚洲成a人片在线观看天堂无码| 亚洲欧洲日产国码无码网站| 亚洲AV无码一区二区三区国产| 无码人妻丰满熟妇区五十路| 免费看又黄又无码的网站| 亚洲av无码乱码国产精品| 中文字幕无码av激情不卡久久| 国产高清不卡无码视频| 精品无码国产一区二区三区麻豆 | 精品无码专区亚洲| 无码夫の前で人妻を侵犯| 人妻无码一区二区不卡无码av| 国产成人AV一区二区三区无码| 亚洲爆乳无码专区| av大片在线无码免费| 无码高潮爽到爆的喷水视频app| 中字无码av电影在线观看网站 | 久久无码专区国产精品| 无码人妻精品一区二区三区久久|