當前位置:首頁 » 編程語言 » oraclesql批量插入
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

oraclesql批量插入

發布時間: 2023-06-09 20:07:34

1. oracle資料庫,批量插入數據腳本

批量插入數據腳本
1、第一種批量插入數據腳本,可鋒胡以基本滿足要求。理解上較為簡單,所以這個最常用。

NEXTVAL和CURRVAL的區別銀余攔:
1、如果 sequence.CURRVAL 和 sequence.NEXTVAL 都出現在一個 SQL 語句中,則序列只增加一次。在這種情況下,每個 sequence.CURRVAL 和 sequence.NEXTVAL 表達式都返回相同的值,不管在語句中sequence.CURRVAL 和 sequence.NEXTVAL 的順序。

執行腳本結果如下:

3、兩個表,同時批量插入數據的腳本

3、
4、 涉及子表時,批量插入數據腳本,

5、 批量修改數據

時間取數方式:
一、SYSTIMESTAMP(取當前系統值)
二、SYSDATE(取當前系統值,但只精確到時,分和秒都為0)
三、固定值為:TO_TIMESTAMP (񟭓-2-12 15:24:45.703000', 'yyyy-mm-dd hh24:mi:ss.ff6')

把固定的欄位改為變數:
方式一:』||i||』 例:』{「no」:「111』||i||』」}』(此方式)
方式二:concat 例:concat(concat(』{「blNo」毀數:111"』,i),』"}』)

2. 如何在oracle資料庫中的表裡批量插入記錄

1.
如果是對其它數據表中進行插入,可利用語句insert
into
A(欄位名)
select
相應的欄位名
from
B;commit;
2.
如果是從其它文檔進行批量插入,可把文檔導入都oracle的臨時表,可通過復制黏貼的方法,把相應欄位的數據復制到臨時表中,再進行1中操作

3. oracle存儲過程怎樣批量插入新數據

需要生成的SQL
insert into TMP_UPSTATE_CASEKEY values('TMP0000001', 1, sysdate);

存儲過程實現
create or replace procere 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;

測試發現生成一千萬條數據用了14分鍾左右,性能還是可以了,如果先去掉TMP_NUM_STATUS_ID的外鍵估計更快。
或者:
insert into TMP_UPSTATE_CASEKEY select 'TMP'||LPAD(rownum,7,0),1,sysdate from al connect by level <= 1000000;