Tengo una pregunta sobre dónde se pueden usar las variables de vinculación en una sentencia de SQL dinámico en PL/SQL.Uso de variables de vinculación con la cláusula dinámica SELECT INTO en PL/SQL
Por ejemplo, sé que esto es válido:
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;
/
Me preguntaba si usted podría utilizar una variables se unen en una instrucción de selección como esta
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;
/
Nota he usado un SELECT INTO declaración como mi cadena dyamic y utilizó una variable de vinculación en la cláusula INTO.
Actualmente estoy de viaje y no tendré acceso a mi computadora en mi casa por unos días, pero esto me ha estado molestando un poco. Intenté leer la referencia PL/SQL, pero no tienen un ejemplo de una selección como esta.
Gracias
Relacionados: http://stackoverflow.com/q/25489002/1461424 – Krumia