【发布时间】:2016-02-09 06:18:33
【问题描述】:
我正在执行一个存储过程,但它在某些时候失败了, 当前的错误代码无法帮助我找到错误的位置和确切内容 我想知道它到底在哪里失败,所以想在执行时逐行打印输出。 例如:
create or replace
-- decaring required variable
PROCEDURE "PROC_DATA_TABLE_DETAILS" IS
FOR TABLEDETAILS IN (SELECT * FROM user_tables )
LOOP
dbms_output.put_line (TABLENAME);
select NUM_ROWS INTO COUNTRECORDS from all_tables where owner not like 'SYS%'and TABLE_NAME = TABLEDETAILS.TABLE_NAME;
FOR FIELDSDETAILS IN (SELECT * FROM USER_TAB_COLUMNS WHERE TABLE_NAME = TABLENAME)
LOOP
FIELDNAME :=FIELDSDETAILS.COLUMN_NAME;
dbms_output.put_line (FIELDNAME );
execute immediate 'SELECT NVL(count(*),0) FROM ' ||TABLENAME || ' WHERE '|| FIELDNAME || ' is not null ' into TEMPNONBLANK;
END LOOP;
INSERT INTO DATA_TABLE_DETAILS VALUES (TABLEDETAILS.TABLE_NAME,COUNTFIELDS)
END LOOP;
END PROC_DATA_TABLE_DETAILS;
【问题讨论】:
-
begin 语句/关键字丢失。
标签: sql oracle stored-procedures plsql