Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Melaksanakan Sisipan Berbilang Baris dengan Cekap dalam Oracle?

Bagaimana untuk Melaksanakan Sisipan Berbilang Baris dengan Cekap dalam Oracle?

Patricia Arquette
Lepaskan: 2025-01-22 18:04:12
asal
160 orang telah melayarinya

How to Efficiently Perform Multi-Row Inserts in Oracle?

Kaedah sisipan berbilang baris yang cekap dalam pangkalan data Oracle

Tidak seperti sisipan berbilang baris pernyataan tunggal MySQL, pangkalan data Oracle tidak menyokong kaedah langsung ini. Tetapi kita boleh mencapai fungsi yang serupa dalam beberapa cara:

Gunakan INSERT ALL sintaks (sebelum Oracle 23c)

Dalam versi sebelum Oracle 23c, anda boleh menggunakan sintaks INSERT ALL untuk sisipan berbilang baris. Contoh berikut menunjukkan cara menggunakan INSERT ALL untuk memasukkan data ke dalam jadual TMP_DIM_EXCH_RT:

<code class="language-sql">INSERT ALL
INTO TMP_DIM_EXCH_RT 
(EXCH_WH_KEY, 
 EXCH_NAT_KEY, 
 EXCH_DATE, EXCH_RATE, 
 FROM_CURCY_CD, 
 TO_CURCY_CD, 
 EXCH_EFF_DATE, 
 EXCH_EFF_END_DATE, 
 EXCH_LAST_UPDATED_DATE) 
VALUES
    (1, 1, '28-AUG-2008', 109.49, 'USD', 'JPY', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'),
    (2, 1, '28-AUG-2008', .54, 'USD', 'GBP', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'),
    (3, 1, '28-AUG-2008', 1.05, 'USD', 'CAD', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'),
    (4, 1, '28-AUG-2008', .68, 'USD', 'EUR', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'),
    (5, 1, '28-AUG-2008', 1.16, 'USD', 'AUD', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008'),
    (6, 1, '28-AUG-2008', 7.81, 'USD', 'HKD', '28-AUG-2008', '28-AUG-2008', '28-AUG-2008')
SELECT 1 FROM DUAL;</code>
Salin selepas log masuk

Sintaks dipermudahkan Oracle 23c

Oracle 23c memperkenalkan sintaks sisipan berbilang baris yang dipermudahkan:

<code class="language-sql">INSERT INTO t(col1, col2, col3) VALUES
('val1_1', 'val1_2', 'val1_3'),
('val2_1', 'val2_2', 'val2_3'),
('val3_1', 'val3_2', 'val3_3');</code>
Salin selepas log masuk

Sintaks ini membenarkan berbilang baris disisipkan menggunakan satu pernyataan.

Pertimbangan Prestasi

Untuk set data yang besar, sintaks ringkas Oracle 23c adalah lebih cekap daripada pendekatan INSERT ALL. Untuk mengoptimumkan prestasi, adalah disyorkan bahawa bilangan baris yang dimasukkan pada satu masa tidak boleh melebihi kira-kira 1,000 baris.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Sisipan Berbilang Baris dengan Cekap dalam Oracle?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan