Er is "speciaal" gedrag in Oracle:Herhaalde tijdelijke aanduiding-namen in dynamische SQL Verklaringen
In een Anoniem Blok- of CALL-instructie is het niet verplicht om de bindwaarden te herhalen als de namen gelijk zijn. Bijvoorbeeld dit Anoniem Blokkeren werkt:
DECLARE
a NUMBER := 4;
b NUMBER := 7;
plsql_block VARCHAR2(100);
BEGIN
plsql_block := 'BEGIN calc_stats(:x, :x, :y, :x); END;';
EXECUTE IMMEDIATE plsql_block USING a, b; -- calc_stats(a, a, b, a)
END;
/
Maar dit EXECUTE IMMEDIATE plsql_block USING a, b;
werkt niet binnen een procedure .