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

oracle已經(jīng)建好的表怎么修改字段大小?

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

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

如果有數(shù)據(jù),改小的話可以會丟失數(shù)據(jù)。

根據(jù)字段類型決定

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

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

比如:

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

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

當然 如果表中的數(shù)據(jù)長度都小于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修改字段類型的方法

因為業(yè)務需要 修要修改某個字段數(shù)據(jù)類型有number( ) 變?yōu)閚umber( )型

要是沒有數(shù)據(jù)的話直接用以下語句即可

alter?? table tb_test modify permile number( );

但是有數(shù)據(jù)的話 就不能用上面方法了

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;

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

以下方法是比較好的方法

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

如果數(shù)據(jù)量較大的話 產(chǎn)生的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類型

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

SQL alter table test modify (loc long );

Table altered

SQL alter table test modify (loc clob );

Table altered

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

方法一:

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 現(xiàn)列名 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修改字段名、字段數(shù)據(jù)類型

語句:

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

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

例如:

1、創(chuàng)建表:

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、修改數(shù)據(jù)類型:

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

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

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

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信公眾號、云服務器、網(wǎng)站收錄軟件開發(fā)、網(wǎng)站導航、面包屑導航

廣告

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

h5響應式網(wǎng)站建設