CREATE OR REPLACE PROCEDURE "fun" is --定义游标 获取主键以及相关 cursor results is SELECT t.c1, t.c2, t.c3 FROM table t where t.id='xx'; --将查询结果转为行数据 nrm_row results%ROWTYPE; --全局变量 var1 NVARCHAR2(30); var2 DATE; var3 NUMBER(16,2); BEGIN --遍历数据 FOR nrm_row IN results LOOP var1 := nrm_row.c1; var2 := sysdate; var3 := nrm_row.c3; begin doing something.... --COMMIT; exception WHEN OTHERS THEN --SUBSTR(SQLERRM, 1, 1000) DBMS_OUTPUT.PUT_LINE('xxx处理错误,错误代码:'||SQLCODE||'错误信息:'||SQLERRM); end; END LOOP; END;