Bindevariablen mit dynamischer SELECT INTO-Klausel in PL / SQL verwenden

Ich habe eine Frage bezüglich wo bind Variablen verwendet werden können, in einer dynamischen SQL-Anweisung in PL/SQL.

Zum Beispiel, ich weiß, dass dies gilt:

CREATE OR REPLACE FUNCTION get_num_of_employees (p_loc VARCHAR2, p_job VARCHAR2) 
RETURN NUMBER
IS
  v_query_str VARCHAR2(1000);
  v_num_of_employees NUMBER;
BEGIN
  v_query_str := 'SELECT COUNT(*) FROM emp_' 
                 || p_loc
                 || ' WHERE job = :bind_job';                           
  EXECUTE IMMEDIATE v_query_str
    INTO v_num_of_employees
    USING p_job;
  RETURN v_num_of_employees;
END;
/

Ich Frage mich, ob man mit einem bind-Variablen in einer select-Anweisung wie diese

CREATE OR REPLACE FUNCTION get_num_of_employees (p_loc VARCHAR2, p_job VARCHAR2) 
RETURN NUMBER
IS
  v_query_str VARCHAR2(1000);
  v_num_of_employees NUMBER;
BEGIN
  v_query_str := 'SELECT COUNT(*) INTO :into_bind FROM emp_' 
                 || p_loc
                 || ' WHERE job = :bind_job';                           
  EXECUTE IMMEDIATE v_query_str
    USING out v_num_of_employees, p_job;
  RETURN v_num_of_employees;
END;
/

Note, die ich verwendet eine SELECT INTO-Anweisung als meine dyamic string und verwendet eine bind-Variablen in der INTO-Klausel.

Ich bin gerade unterwegs und jetzt keinen Zugriff auf meinen computer zu Hause für ein paar Tage, aber dies wurde nörgelnden mich ein bisschen. Habe versucht, das Lesen der PL/SQL-Referenz, aber Sie haben nicht ein Beispiel für eine select wie dieses.

Dank

Kommentar zu dem Problem
Verwandte: stackoverflow.com/q/25489002/1461424 Kommentarautor: Krumia

InformationsquelleAutor der Frage BYS2 | 2011-10-19

Schreibe einen Kommentar