怎樣批量修改oracle資料庫中某表中的某一列資料

時間 2021-10-14 22:25:42

1樓:在晴天的雨傘

最好的方法是批量修改,即每次修改5000條(一次修改不要超過一萬條,否則影響效能).

雖然在11g中,我們也可以選擇使用merge命令,但你的這種情況最好先修改一部分然後看看影響,畢竟在生產環境作這樣的操作風險很大。

如果是誤操作,最好還是請dba來恢復,雖然這樣做會被捱罵,但總比錯上加錯,最後連捱罵的機會都沒有要好得多。

如果對這些修改真的有信心,而只是從效能考慮,那可以用下面的方法(pk_col 是表的主鍵):

merge into *** aa

using (select pk_col from ***) bb

on (aa.pk_col=bb.pk_col)

when matched then

update set aa.datatype=66 where aa.datatype is null;

2樓:匿名使用者

update eams_master set state to_date('2016/3/2 00:00:00', 'yyyy-mm-dd:

hh24:mi:ss') where state= to_date('2016/3/2 00:

00:00', 'yyyy-mm-dd:hh24:

mi:ss')

如何批量修改oracle資料庫中某一個表中的某一列資料?

3樓:匿名使用者

update eams_master set state = '000' where state = '001' 根據我提供的內容寫語句,不要寫通用的語句,我會分辨不出哪個對哪個。這句話沒有理解

4樓:秀乞群群

最好的方法是批量修改,即每次修改5000條(一次修改不要超過一萬條,否則影響效能).

雖然在11g中,我們也可以選擇使用merge命令,但你的這種情況最好先修改一部分然後看看影響,畢竟在生產環境作這樣的操作風險很大。

如果是誤操作,最好還是請dba來恢復,雖然這樣做會被捱罵,但總比錯上加錯,最後連捱罵的機會都沒有要好得多。

如果對這些修改真的有信心,而只是從效能考慮,那可以用下面的方法(pk_col 是表的主鍵):

merge into *** aa

using (select pk_col from ***) bb

on (aa.pk_col=bb.pk_col)

when matched then

update set aa.datatype=66 where aa.datatype is null;

批量修改oracle資料庫內一張表某一欄位的值 20

5樓:匿名使用者

這麼大的資料量,最好的方法是批量修改,即每次修改5000條(一次修改不要超過一萬條,否則影響效能). 雖然在11g中,我們也可以選擇使用merge命令,但你的這種情況最好先修改一部分然後看看影響,畢竟在生產環境作這樣的操作風險很大。

如果是誤操作,最好還是請dba來恢復,雖然這樣做會被捱罵,但總比錯上加錯,最後連捱罵的機會都沒有要好得多。

批量修改oracle資料庫中的某一個欄位?

6樓:匿名使用者

可以通過update方法bai進行批量修

改。du

sql:update table_name set age=25;

備註zhi:也可以新增必要的條dao件,針對固定條件的內資料進容行批量修改。

sql:update table_name set age=age+1 where name ='zhangsan ';

7樓:匿名使用者

--以下是bai我根據你的描述,du做的測試,希望zhi對你有幫助:

-- 新建一張dao表kongxianji:

create table kongxianji(a varchar2(200));

-- 插入資料,然後專提交:

insert into kongxianji (a) values ('12345(6)789');

insert into kongxianji (a) values ('12345(67)89');

insert into kongxianji (a) values ('12345(678)9');

commit;

select * from kongxianji;

-- 把a中的括屬號去掉,然後提交,到這一步可以檢視錶中資料的變化情況:

update kongxianji set a = replace(a,substr(a,instr(a,'('),(instr(a,')')-instr(a,'(')+1)),'');

commit;

select * from kongxianji;

8樓:匿名使用者

|oralce 9i 10g測試

襲通bai過du

zhisql> select * from test2;

str1

abc(asdlfjl;;asx)qpweruas;dfs***x(jl;;asx)qxxppruas;dfsupdate test2 t1 set t1.str1=(select substr(str1,1,instr(str1,'(' )-1)|dao|substr(str1,instr(str1,')')+1) str2 from test2 t2 where t1.rowid=t2.

rowid)

/sql> select * from test2;

str1

abcqpweruas;dfs

***xqxxppruas;dfs

oracle資料庫如何用update批量更新某列資料中的欄位

9樓:穆亞楓

update的語法格式為:

update 表名

set 欄位名=「更新的值」

[where 欄位名 = 限制條件值] --這部分可以不加,如果是更新整個表。

10樓:匿名使用者

跟sql server類似。bai

可以使用

du程式設計,

zhi或者使用pl/sql連線oracle資料庫,登陸連線後,使dao用以下sql:

update table set id='tt' where a='xx';

以上語句,就內是將表table中列a='xx'的所有容id列改為「tt」。

條件可以新增多個,更新的欄位也可以新增多個,比如:

update table set id1='tt',id2='cc' where a='xx' and b='yy' ;

11樓:匿名使用者

update tal set name=replace(name,'廣東省','湖南省') where name like '廣東省%'

12樓:

update tal set name = '湖南' || substr(name,3,len(name) - 2) where substr(name,1,2) = '廣東'

sql資料庫和oracle資料庫哪個好

兄弟,聽我的。肯定學習oracle。原因 1 oracle是商用的最廣泛的關係型資料庫管理系統,廣泛應用於銀行 電信 電力 社保等各個領域。特別是對於unix和linux平臺,sqlserver怎麼用啊?我想你學習,肯定為了將來應用,或者工作,你的簡歷裡面寫oracle和sqlserver完全是不一...

求oracle修改資料庫欄位長度sql

2個辦法 1.使用備份表 a.create table test as select from a b.drop table a c.create table a 將ddd欄位改為char 20 d.insert into a select from test e.drop table test2....

oracle資料庫備份語句

exp 畢竟也需要連線到資料庫,也就是需要提供使用者名稱,密碼,所以你說的資料庫模式匯出,是無法正常實現的。但是使用dba使用者登陸,可以實現匯出整個資料庫的類似功能。資料庫模式 exp system passwd oracle full y file db081222.dmp log db0812...