Du kan bruge en bivirkning af
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
Fra begrænsningerne:
Det er klart, at jeg bruger en sekvens i værdierne
klausul, så den første sætning virker ikke helt præcis; men du kan ikke bruge det i select
en del. (Jeg er ikke 100 % sikker på, om det kan bruges i værdierne
i alle versioner, men dokumentationen er under alle omstændigheder lidt misvisende og modsiger sig selv).
Så jeg udnytter det faktum, at fordi det er en enkelt sætning, henviser de to til nextval
få det samme tal, som den tredje sætning siger, så den samme sekvensværdi bruges i begge tabeller.