【发布时间】:2025-12-04 05:30:01
【问题描述】:
我需要在 Oracle SQL 开发人员中编写一个引用游标,但我不知道它是如何编写的。我只知道基本查询。
在查看了各种示例后,据我所知,我已经编写了以下光标。我收到一个编译错误“缺少或无效选项”。
谁能帮帮我?
第 1 步:我在 Oracle sql developer 版本 4 中创建了一个新过程。 第2步:我写了以下光标
DECLARE
routeid VARCHAR2(10);
cursor c1 IS
SELECT shipment_id FROM SHIPMENT
WHERE shipment_id = 20;
BEGIN
OPEN c1;
LOOP
FETCH c1 INTO routeid;
EXIT WHEN c1%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(routeid);
END LOOP;
END;
/
提前感谢您的帮助。
【问题讨论】:
-
完美无错误执行时出现什么问题?
-
SQL 开发人员出现问题。它已排序。
-
@Sanjay:能告诉我如何计算从游标返回的行数吗?无论如何我可以用 DBMS_OUTPUT 进行行计数吗?如果是,我该怎么做?我想计算查询返回的行数并使用 DBMS_OUTPUT.PUT_LINE 显示它
-
您不能直接从要在变量上创建的引用游标中计算行数,并通过循环迭代增加行数。
-
@sanjayradadiya:需要一些专家建议:正如您在我的回答中看到的,我将结果放入 c1_rec。现在我的下一个问题是,我希望这个游标有输出参数,并且每一行的值都应该保存在这个输出参数中。因此,例如,c1_rec.p_id 应该移到相应值的 out 参数中……这有意义吗?有没有关于如何做到这一点的示例?
标签: stored-procedures cursor oracle-sqldeveloper