Heim > Datenbank > MySQL-Tutorial > Wie führt man in Oracle effizient mehrzeilige Einfügungen durch?

Wie führt man in Oracle effizient mehrzeilige Einfügungen durch?

Patricia Arquette
Freigeben: 2025-01-22 18:04:12
Original
204 Leute haben es durchsucht

How to Efficiently Perform Multi-Row Inserts in Oracle?

Effiziente Methode zum Einfügen mehrerer Zeilen in die Oracle-Datenbank

Im Gegensatz zum mehrzeiligen Einfügen einer einzelnen Anweisung in MySQL unterstützt die Oracle-Datenbank diese direkte Methode nicht. Aber wir können eine ähnliche Funktionalität auf verschiedene Arten erreichen:

Verwenden Sie die INSERT ALL-Syntax (vor Oracle 23c)

In Versionen vor Oracle 23c können Sie die INSERT ALL-Syntax zum Einfügen mehrerer Zeilen verwenden. Das folgende Beispiel zeigt, wie Sie mit INSERT ALL Daten in die Tabelle TMP_DIM_EXCH_RT einfügen:

<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>
Nach dem Login kopieren

Oracle 23c vereinfachte Syntax

Oracle 23c führt eine vereinfachte mehrzeilige Einfügungssyntax ein:

<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>
Nach dem Login kopieren

Diese Syntax ermöglicht das Einfügen mehrerer Zeilen mit einer einzigen Anweisung.

Leistungsüberlegungen

Bei großen Datensätzen ist die vereinfachte Syntax von Oracle 23c effizienter als der INSERT ALL-Ansatz. Um die Leistung zu optimieren, wird empfohlen, dass die Anzahl der gleichzeitig eingefügten Zeilen etwa 1.000 Zeilen nicht überschreitet.

Das obige ist der detaillierte Inhalt vonWie führt man in Oracle effizient mehrzeilige Einfügungen durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage