0
有沒有辦法將查詢存儲在對象中,以便您可以在遊標中使用它或作爲較大查詢的子查詢?所有這些沒有使用立即執行?將sql查詢存儲在對象上
讓supose你想這樣的:
set serveroutput on;
DECLARE
CNT NUMBER;
v1 varchar2(4000);
SQL_QUERY view := SELECT table_name FROM USER_TABLES;
CURSOR C1 IS
SQL_QUERY;
BEGIN
OPEN C1;
FETCH C1 INTO V1;
dbms_output.put_line('name of the first table: '||v1);
CLOSE C1;
SELECT COUNT(*) INTO CNT FROM SQL_QUERY;
dbms_output.put_line('Count: '|| cnt);
end;
這可能嗎?
不是,我想要一種方法來定義一個查詢,我可以使用它來封裝另一個查詢或在遊標中使用它。 – JGS
@JGS,然後你必須使用動態SQL,這是REF CURSOR或EXECUTE_IMMEDIATE等... – Art