ora-01002:提取违反顺序

Oracle存储过程运行报ora-01002:提取违反顺序,代码如下:
for s in (sql1) loop
--------------------------第一处判断-------------
if 条件 then
OPEN PKG_RETURN FOR
SELECT 'error1' AS OUTPUT FROM DUAL;
ROLLBACK;
RETURN;
end if;
for i in (sql2) loop
-------------------------第二处判断
if 条件 then
ROLLBACK; ------第一处
OPEN PKG_RETURN FOR
SELECT 'error2' AS OUTPUT FROM DUAL;
--ROLLBACK; ---------------第二处
RETURN;
end if;
end loop;
end loop;

测试将Rollback放在第一处就没问题,放在第二处就报这个错;
但是在第一处判断时,Rollback放在后面也不会报错。

你好,我是有问必答小助手。为了技术专家团更好地为您解答问题,烦请您补充下(1)问题背景详情,(2)您想解决的具体问题,(3)问题相关代码图片或者报错信息。便于技术专家团更好地理解问题,并给出解决方案。

您可以点击问题下方的【编辑】,进行补充修改问题。
img