我想处理没有找到数据。每当引发此异常时,我希望程序继续运行,而不会因错误而停止。以下是代码段
开始 OPEN C_TABLE_PARTITON_LIST; 环 FETCH ……
您必须将脚本中有问题的部分包含在其自己的BEGIN-EXCEPTION-END块中,例如
BEGIN OPEN C_TABLE_PARTITON_LIST; LOOP FETCH C_TABLE_PARTITON_LIST INTO TABLE_PARTITION_LIST; EXIT WHEN C_TABLE_PARTITON_LIST%NOTFOUND; begin --> you need this ... SELECT COLUMN_NAME INTO PARTITION_COLUMN_NAME from ALL_PART_KEY_COLUMNS sqlstring :='SELECT ( '|| PARTITION_COLUMN_NAME ||'from test'; EXECUTE IMMEDIATE sqlstring INTO F_RESULT; exception when no_data_found then dbms_output.put_line('no data found.'); DBMS_OUTPUT.put_line( F_RESULT); end; --> ... and this END LOOP; CLOSE C_TABLE_PARTITON_LIST; END;
请注意,我只是展示了这样做的方法。您发布的代码
SELECT
WHERE
SQLSTRING
'from test'
DBMS_OUTPUT