真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

oracle如何批量造數(shù)據(jù),oracle存儲過程批量修改數(shù)據(jù)

oracle表批量插入數(shù)據(jù)

兩種方法

成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司,提供成都做網(wǎng)站、網(wǎng)站設(shè)計、外貿(mào)營銷網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);可快速的進行網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,是專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

1. 使用pl/sql developer

這種方法比較簡單,我曾經(jīng)這么一次導(dǎo)入過幾萬條記錄

2.sqlldr

首先將你的excel文件另存為csv格式(默認逗號間隔,另存為csv,不只是改后綴名)

然后用sqlldr導(dǎo)入。sqlldr的參數(shù)很多,簡單的幾個就可以了:

建一個控制文件control.txt:

load data

infile 'f:\test.csv'

into table test1

(id char terminated by ',',

name char terminated by ',',

height char terminated by ',',

birth char terminated by whitespace)

----這里你根據(jù)需要,修改數(shù)據(jù)文件的名字和路徑。括號里面的字段名和字段數(shù)也根據(jù)實際情況修改。由于保存的是csv,字段間以逗號隔開,因此控制文件里定義最后一個字段以whitespace來分隔,其它的用','

然后使用sql*loader:

sqlldr userid=USERNAME/PASSWORD@XXXX control=f:\control.txt log=f:\test.log bad=f:\testbad.csv

userid后跟用戶名密碼,@后的是網(wǎng)絡(luò)服務(wù)名,需要在客戶端的tnsnames.ora文件里定義。control后的值是剛剛建的控制文件的路徑,日志將生成在log參數(shù)指定的位置上,如果有記錄沒有導(dǎo)入成功,這些記錄會放置在bad后指定的文件里。

Oracle中使用PL/SQL怎樣用循環(huán)插入多條數(shù)據(jù)?

使用loop循環(huán),比如:

for item in (select a,b,c from table_a where 條件) loop

insert into table_b(a,b,c) values (item.a,item.b,item.c);

end loop;

也可以使用索引表循環(huán),以上只是一個簡單的例子,需要根據(jù)你的具體情況選擇循環(huán)方式。

1、采用insert into values 語句插入一條,寫很多條語句即可多條數(shù)據(jù),這種主要針對于離散值以及一些基礎(chǔ)信息的錄入,如:insert into test(xh,mc) values('123','測試');

如果插入的數(shù)據(jù)有規(guī)律,可利用for、loop循環(huán)插入,主要用于批量生成測試數(shù)據(jù)

begin

for i in 1 .. 100 loop

insert into test(xh,mc) values(i||'','測試');

end loop;

end ;。

2、采用insert into selct from 語句來一次性插入一個集合,這種主要依據(jù)于要插入的數(shù)據(jù)源已經(jīng)存儲于數(shù)據(jù)庫對象中,或者利用dual虛表來構(gòu)造數(shù)據(jù),經(jīng)過加工后寫入一個集合。

insert into test (xh,mx) select '123','測試' from dual;

3、采用plsql等工具、或者oracle的imp、impdp命令來導(dǎo)入,這種主要用數(shù)據(jù)庫與數(shù)據(jù)庫之間的大批量數(shù)據(jù)導(dǎo)入,導(dǎo)入的數(shù)據(jù)格式為plsql的pde、oracle的dmp等。dmp文件可使用

table_exists_action參數(shù)控制導(dǎo)入動作:replace替換原表,truncate清除原表數(shù)據(jù)再導(dǎo)入,append增量導(dǎo)入數(shù)據(jù),當然impdp數(shù)據(jù)泵的導(dǎo)入要依賴于directory路徑。

impdp 用戶名/密碼 dumpfile=123.dmp logfile=123.log directory=imp_dir tables=test table_exists_action=append。

4、使用excel文件直接拷貝。這種主要用于要寫入的數(shù)據(jù)已是excel文件或者行列分明的其它格式文件,每一列的值和表結(jié)構(gòu)相對應(yīng),可直接打開表的行級鎖,把數(shù)據(jù)拷貝進入。

oracle存儲過程怎樣批量插入新數(shù)據(jù)

需要生成的SQL

insert into TMP_UPSTATE_CASEKEY values('TMP0000001', 1, sysdate);

存儲過程實現(xiàn)

create or replace procedure proc_casekey_upstate

as

casekey char(14);

begin

for i in 1..10000000 loop

casekey := 'TMP'||lpad(i,7,0); -- TMP0000001

insert into TMP_UPSTATE_CASEKEY values(casekey, 1, sysdate);

end loop;

commit;

end;

begin

proc_casekey_upstate();

end;

測試發(fā)現(xiàn)生成一千萬條數(shù)據(jù)用了14分鐘左右,性能還是可以了,如果先去掉TMP_NUM_STATUS_ID的外鍵估計更快。

或者:

insert into TMP_UPSTATE_CASEKEY select 'TMP'||LPAD(rownum,7,0),1,sysdate from dual connect by level = 1000000;

oracle如何快速簡單的批量造數(shù)據(jù)

可以通過第三方工具來處理,比如powerdesigner

具體可以度娘 'powerdesigner 測試數(shù)據(jù)'

怎么批量往oracle數(shù)據(jù)庫中造大量的數(shù)據(jù)

那要看你需要什么類型的數(shù)據(jù)了。

最簡單的,寫一個存儲過程,在里頭添加一個insert,循環(huán)個 大量 次數(shù)。

如果存在其他表中有大量數(shù)據(jù)的,也可以

insert 新表 select from 其他表。

注意一下字段類型。

Oracle 批量插入數(shù)據(jù)怎么做

如果是文本文件(不一定是純文本,execl也可以,另存為文本就可以,只要注意一下分隔符號就可以了),那么sqlloader導(dǎo)入,只要參數(shù)設(shè)置對了,這個應(yīng)該是比較快的。

如果是從其他表插入,而且數(shù)據(jù)量很大,那么就寫腳本分批insert,commit;

當然用其他工具也可以,比如用plsql developer的導(dǎo)入功能,或者復(fù)制。

關(guān)鍵看是什么類型的數(shù)據(jù)。


網(wǎng)頁名稱:oracle如何批量造數(shù)據(jù),oracle存儲過程批量修改數(shù)據(jù)
URL標題:http://weahome.cn/article/dsggicp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部