(Ich habe dies gefunden, das die Frage teilweise beantwortet, aber die Deklaration würde ordentlicher aussehen, da mein SQL in Oracle und MSSQL verwendet wird:) Variablen binden in dynamischem PL/SQL
Ich habe einige dynamische SQL, das ich mit Syntax wie unten ausgeführt:
EXECUTE IMMEDIATE plsql_block USING employeeid, sortname;
und dann kann ich auf diese Variablen im dynamischen SQL zugreifen mit :1, :2, usw. Kann ich stattdessen benannte Parameter verwenden? etwas wie
EXECUTE IMMEDIATE plsql_block USING employeeid => employeeid
und dann kann ich auf sie im dynamischen SQL mit :employeeid zugreifen, anstatt auf die Position zu vertrauen?
Wenn nicht, ist mein Gedanke, etwas Ähnliches am Anfang des SQL zu tun:
declare employeeid varchar(15 := :1;
und dann kann ich mein dynamisches SQL nach Belieben ändern, ohne mich um die Positionierung sorgen zu müssen.
Gibt es einen besseren Weg?
Danke