语句放在循环中 表名 可否是变量?
select count(*) into flag_exits from
(select a.calling_number calling_number,b.area_name area_name,count(a.calling_number) c_count
from table_name a,t_area b --table_name 是个变量
where a.called_number like '163%' and a.calling_area_id = b.area_id
group by a.calling_number,b.area_name) c where c.calling_number in
(select calling_number from xue_test);如何解决? 在线等待 谢谢!!!!!!!!
(select a.calling_number calling_number,b.area_name area_name,count(a.calling_number) c_count
from '|| table_name||' a,t_area b --table_name 是个变量
where a.called_number like ''163%'' and a.calling_area_id = b.area_id
group by a.calling_number,b.area_name) c where c.calling_number in
(select calling_number from xue_test)';
SQL> CREATE OR REPLACE PROCEDURE proc_tett
2 AS
3 v_count NUMBER(2);
4 cur SYS_REFCURSOR;
5 BEGIN
6 OPEN cur FOR 'select count(*) cnt from dual' ;
7 FETCH cur INTO v_count;
8 IF v_count=1 THEN
9 dbms_output.put_line('123');
10 END IF;
11 CLOSE cur;
12 END;
13 /
Procedure created
SQL> set serveroutput ON SQL> exec proc_tett;
123
PL/SQL procedure successfully completed
SQL>
execute immediate ' select count(*) from
(select a.calling_number calling_number,b.area_name area_name,count(a.calling_number) c_count
from '|| table_name||' a,t_area b --table_name 是个变量
where a.called_number like ''163%'' and a.calling_area_id = b.area_id
group by a.calling_number,b.area_name) c where c.calling_number in
(select calling_number from xue_test)' into flag_exits;