我有一個問題,關於在PL/SQL中的動態SQL語句中可以使用哪些綁定變量。在PL/SQL中使用綁定變量和動態SELECT INTO子句
例如,我知道,這是有效的:
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;
/
我在想,如果你能在SELECT語句中使用綁定變量,這樣
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參考,但他們沒有像這樣的選擇的例子。
謝謝
相關:http://stackoverflow.com/q/25489002/1461424 – Krumia