Использование переменных связывания с динамическим предложением SELECT INTO в PL / SQL

У меня есть вопрос относительно того, где переменные связывания могут использоваться в динамическом операторе SQL в PL / SQL.

Например, я знаю, что это действительно:

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;
/

Мне было интересно, если вы могли бы использовать переменные связывания в выражении выбора, как это

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;
/

Заметьте, что я использовал инструкцию SELECT INTO в качестве моей двоичной строки и использовал переменную связывания в предложении INTO.

В настоящее время я путешествую и уже несколько дней не буду иметь доступ к своему компьютеру дома, но это меня немного напрягало. Попытался прочитать справочник по PL / SQL, но у них нет примера такого выбора.

Спасибо

Ответы на вопрос(5)

Ваш ответ на вопрос