一. 需求: 每天循环更新表的数据量
create or replace PROCEDURE TEST
/*
作者:盈欢
时间:2020/08/21
*/
AS
COUNTS NUMBER ;
SQLMSG VARCHAR2(100);
CURSOR COR_LIST_STG IS SELECT TABLE_NAME FROM ALL_TABLES WHERE OWNER ='STG';
CURSOR COR_LIST_ODS IS SELECT TABLE_NAME FROM ALL_TABLES WHERE OWNER ='ODS';
BEGIN
/*
STG表更新数据量
*/
FOR EACH_TAB IN COR_LIST_STG
LOOP
SQLMSG:='SELECT COUNT(1) FROM STG.'|| EACH_TAB.TABLE_NAME;
EXECUTE IMMEDIATE SQLMSG INTO COUNTS;
COMMIT;
UPDATE AUDIT_TABLE_SUMMARY SET TABCOUNT=COUNTS WHERE TABNAME=EACH_TAB.TABLE_NAME;
COMMIT;
END LOOP ;
/*
ODS表更新数据量
*/
FOR EACH_TAB IN COR_LIST_ODS
LOOP
SQLMSG:='SELECT COUNT(1) FROM ODS.'|| EACH_TAB.TABLE_NAME;
EXECUTE IMMEDIATE SQLMSG INTO COUNTS;
COMMIT;
UPDATE AUDIT_TABLE_SUMMARY SET TABCOUNT=COUNTS WHERE TABNAME=EACH_TAB.TABLE_NAME;
COMMIT;
END LOOP ;
END ;