Zmienną lokalną z procedury można powiązać z symbolem zastępczym zapytania za pomocą USING [OUT][IN]
klauzula:
local_id number;
BEGIN
EXECUTE IMMEDIATE
'SELECT SYS_LOCAL_ID_SERIAL_SEQ.NEXTVAL into :local_id FROM dual'
USING OUT local_id;
Ale dla tego zapytania nie potrzebujesz execute immediate
, po prostu zrób:
local_id number;
BEGIN
SELECT SYS_LOCAL_ID_SERIAL_SEQ.NEXTVAL into local_id FROM dual;
w Oracle 11g możesz to zrobić za pomocą operatora przypisania:
local_id number;
BEGIN
local_id := SYS_LOCAL_ID_SERIAL_SEQ.NEXTVAL;