Using bind variables with dynamic SELECT INTO clause in PL/SQL

前端 未结 5 1368
深忆病人
深忆病人 2020-12-01 02:30

I have a question regarding where bind variables can be used in a dynamic SQL statement in PL/SQL.

For example, I know that this is valid:

CREATE OR          


        
5条回答
  •  渐次进展
    2020-12-01 03:34

    Put the select statement in a dynamic PL/SQL block.

    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 := 'begin SELECT COUNT(*) INTO :into_bind FROM emp_' 
                     || p_loc
                     || ' WHERE job = :bind_job; end;';
      EXECUTE IMMEDIATE v_query_str
        USING out v_num_of_employees, p_job;
      RETURN v_num_of_employees;
    END;
    /
    

提交回复
热议问题