ctpm - Sie suchen einen Berater, einen Coach, ein Seminar? (Oracle,PL/SQL,DBA 9i/10g/11g,MYSQL,Linux,... ) Oder Sie suchen einen IT-Trainer? Dann sind Sie bei uns richtig. Denn hinter ctpm verbirgt sich jahrelange Berufserfahrung in Projekteinsätzen und Seminargeschäft. Die Erfahrungen wurden im In- und Ausland gesammelt. Ob Inhouse-Seminare, Offene-Seminare oder Firmen-Seminare, wir haben für jeden das Passende. © www.ctpm.de 2003-12 // 28-1251


ctpm - Oracle - Multitabellen (29-1408)

Multitabellen-Insert...

Multitabellen-Insert...
...oder wie fülle ich mehrere Tabellen mit einem Insert

(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;


Druckbare Version