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