有一类表A(A1,A2,A3....An)和一张表B
A表表名的组成部分为t_B.code,比方说B.code为0000,0001。。。。那么就对应A表t_0000,t_0001。。。。里面存放我的一批数据,现在我要统计这N张A表中的所有数据量,要怎么操作?
------解决方案--------------------
- SQL code
set serveroutput on --打开sqlplus输出,如果是用plsqldev 这个忽略DECLARE V_CNT INT;BEGIN FOR REC IN (SELECT CODE FROM B) LOOP EXECUTE IMMEDIATE 'select count(1) from t_' || REC.CODE INTO V_CNT; DBMS_OUTPUT.PUT_LINE('表[t_' || REC.CODE || ']数据条数:' || V_CNT); END LOOP;END;
------解决方案--------------------
- SQL code
DECLARE V_CNT INT; V_SUM INT;--总条数。BEGIN V_SUM :=0; FOR REC IN (SELECT CODE FROM B) LOOP EXECUTE IMMEDIATE 'select count(1) from t_' || REC.CODE INTO V_CNT; V_SUM := V_SUM + V_CNT; END LOOP;END;