Warum kann ich nicht mit bind-Variablen in DDL/SCL-statements in dynamic SQL?

Ich versuche zum ausführen einer SQL-Befehl in dynamischen SQL mit bind-Variablen:

-- this procedure is a part of PL/SQL package Test_Pkg
PROCEDURE Set_Nls_Calendar(calendar_ IN VARCHAR2)
IS
BEGIN
   EXECUTE IMMEDIATE
      'ALTER SESSION
      SET NLS_CALENDAR = :cal'
      USING IN calendar_;
END Set_Nls_Calendar;

Dann auf der client-Seite, ich versuche zu aufrufen der Prozedur:

Test_Pkg.Set_Nls_Calendar('Thai Buddha');

Aber das ist mir ORA-02248: invalid option for ALTER SESSION.

Und meine Frage ist: Warum kann ich nicht mit bind-Variablen in DDL/SCL-statements in dynamic SQL?

InformationsquelleAutor Krumia | 2014-08-25

Schreibe einen Kommentar