Multitable Insert – ORACLE SQL » Syntax kurz erklärt

Multitable Insert. So füllen wir mehrere Tabellen mit einem Insert. Ein DML-Befehl der Oracle ETL-Prozesse.



CTPM » Business • Health • Travel • Move - Stefan Müller CTPM » Business • Health • Travel • Move - XING CV - Stefan Müller

Autor: Stefan Müller CEO & Senior Consultant

CTPM » Business • Health • Travel • Move

Köln • Berlin • Hamburg • Lindlar im Bergischen Land



1. Multitable Insert



1.1 Beispiel

(ext_demo siehe externe Tabelle)

ALS SYS/SYS AS SYSDBA anmelden

–Tabelle anlegen
CREATE table scott.emp2 as select * from scott.emp;

— Einfügen der Sätze
INSERT ALL –> Alle Bedingungen werden geprüft und ggf. ausgeführt
INSERT FIRST –> Die erste Bedingung wird ausgeführt und danach wird die Überprüfung für diesen Datensatz beendet

Beispiel 1
— 2 Tabellen befüllen
INSERT ALL
INTO scott.emp
(empno, ename, deptno)
VALUES (id, name, 10)
INTO scott.emp2
(empno, ename, deptno)
VALUES (id, name, 10)
SELECT id, name
FROM ext_demo;

SELECT * FROM SCOTT.EMP;
SELECT * FROM SCOTT.EMP2;
ROLLBACK;

Beispiel 2
— 2-mal die gleiche Tabelle befüllen
INSERT ALL
INTO scott.emp
(empno, ename, deptno)
VALUES (id, name, 10)
INTO scott.emp
(empno, ename, deptno)
VALUES (id + 1000, name, 10)
SELECT id, name
FROM ext_demo;

SELECT * FROM SCOTT.EMP;
SELECT * FROM SCOTT.EMP2;
ROLLBACK;

Beispiel 3
— 2 Tabellen befüllen mit WHEN
INSERT FIRST
WHEN name like '%Maie%' THEN
INTO scott.emp2
(empno, ename, deptno)
VALUES (id, name, 10)
ELSE
INTO scott.emp
(empno, ename, deptno)
VALUES (id, name, 10)
SELECT id, name
FROM ext_name;

SELECT * FROM SCOTT.EMP;
SELECT * FROM SCOTT.EMP2;
ROLLBACK;


 

 ctpm.events 📅 
 Anzeige 

Oracle ist eingetragenes Warenzeichen der Oracle Corporation.


Datenbank & Internet

IT-Seminare, Kurse, Workshops oder Stammtisch


Ihre Fragen und Anmerkungen sind jederzeit willkommen.

(Link)

Schreibe einen Kommentar

%d Bloggern gefällt das: