Stored procedures Oracle Sql Developer中的引用游标
我需要在OracleSQLDeveloper中编写一个引用游标,但我不知道它是如何编写的。我只知道基本的问题 在查阅了各种示例后,我已经尽我所知编写了下面的游标。我收到一个编译错误“缺少或无效选项” 有人能帮我吗 步骤1:我在Oracle sql developer版本4中创建了一个新过程。 步骤2:我编写了以下游标Stored procedures Oracle Sql Developer中的引用游标,stored-procedures,cursor,oracle-sqldeveloper,Stored Procedures,Cursor,Oracle Sqldeveloper,我需要在OracleSQLDeveloper中编写一个引用游标,但我不知道它是如何编写的。我只知道基本的问题 在查阅了各种示例后,我已经尽我所知编写了下面的游标。我收到一个编译错误“缺少或无效选项” 有人能帮我吗 步骤1:我在Oracle sql developer版本4中创建了一个新过程。 步骤2:我编写了以下游标 DECLARE routeid VARCHAR2(10); cursor c1 IS SELECT shipment_id FROM SHIPMENT WHERE shi
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;
/
提前感谢您的帮助。实现简单光标的更好方法
CREATE OR REPLACE PROCEDURE Test_cursor (Out_Pid OUT VARCHAR2) AS
cursor c1 IS
SELECT shipment_id,p_id FROM test
WHERE shipment_id = 99;
c1_rec c1%rowtype;
BEGIN
OPEN c1;
LOOP
FETCH c1 INTO c1_rec;
EXIT WHEN c1%NOTFOUND;
Out_Pid := c1_rec.p_id;
DBMS_OUTPUT.PUT_LINE('Result from query '||c1_rec.p_id );
DBMS_OUTPUT.PUT_LINE('Result from out parameter '||Out_Pid );
END LOOP;
END Test_cursor;
完美执行时没有错误什么问题?SQL developer有问题。它已排序。@Sanjay:可以告诉我如何计算光标返回的行数吗?我是否可以使用DBMS_输出进行行计数?如果是,我怎么做?我想计算查询返回的行数,并使用DBMS_OUTPUT显示。PUT_line您不能直接从要在变量上创建的ref cursor中计算行数,并通过循环迭代递增行数。@sanjayradadiya:需要一些专家建议:正如您在我的回答中看到的,我将结果输入到了c1_rec。现在是我的下一期就是,我希望这个游标有out参数,并且每行的值都应该保存在这个out参数中。例如,c1_rec.p_id应该移到相应值的out参数中…这有意义吗?有没有关于如何做到这一点的样本?