Sie können einen Nebeneffekt des Codes
insert all
into job (jobid, fileid, jobname)
values (jobidsequence.nextval, fileid, jobname)
into reference (jobid, reffileid)
values (jobidsequence.nextval, reffileid)
select 4660 as fileid, 'name' as jobname, 4391 as reffileid
from dual;
2 rows inserted.
select * from job;
JOBID FILEID JOBNAME
---------- ---------- ----------
42 4660 name
select * from reference;
JOBID REFFILEID
---------- ----------
42 4391
Von den Beschränkungen:
Offensichtlich verwende ich eine Sequenz in den values
Klausel, daher scheint der erste Satz nicht ganz genau zu sein; aber Sie können es nicht im select
verwenden Teil. (Ich bin mir nicht 100 % sicher, ob es in den values
verwendet werden kann in allen Versionen, aber die Dokumentation ist sowieso etwas irreführend und widerspricht sich).
Ich nutze also die Tatsache aus, dass, weil es sich um eine einzelne Anweisung handelt, die beiden Verweise auf nextval
dieselbe Nummer erhalten, wie der dritte Satz sagt, also wird in beiden Tabellen derselbe Sequenzwert verwendet.