如何编写一个 pl/sql 代码块来打印游标的内容,该游标是存储过程中的输出参数
我有一个存储过程,它接受两个日期并传回游标。 存储过程可以编译,但是我在编写正确的 pl/sql 来“查看”返回的内容时遇到问题。 我已尝试以下操作:
DBMS_OUTPUT.PUT_LINE('MY_CURSOR=' || MY_CURSOR)
声明表示游标行中包含的列的局部变量 然后我
循环 将 MY_CURSOR 获取到局部变量中 当 MY_CURSOR%notfound 时退出 DBMS_OUTPUT_PUTLINE(局部变量 1 || 局部变量 2 等..) 结束循环 close MY_CURSOR
循环似乎会进一步执行,但是我的 fetchline 上出现错误: ORA-01858: 在需要数字的地方发现了非数字字符 ORA-06512:第 18 行
任何人都可以提供任何建议吗?
I have a stored procedure that takes in two dates and passes back a cursor. The stored procedure compiles however I am having trouble writing the correct pl/sql to 'see' what is returned. I have tried the following:
DBMS_OUTPUT.PUT_LINE('MY_CURSOR=' || MY_CURSOR)
declaring local variables that represent the columns contained in a row of the cursor
then I
loop
fetch MY_CURSOR into the local variables
exit when MY_CURSOR%notfound
DBMS_OUTPUT_PUTLINE(local variable 1 || local variable 2 etc..)
end loop
close MY_CURSOR
The loop seems to execute further however I get an error on my fetchline:
ORA-01858: a non-numeric character was found where a numeric was expected
ORA-06512: at line 18
Can anyone provide any advice?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
该循环满足我的需要 - 我的变量顺序错误。
The loop works for my needs - I had the variables in the wrong order.
检查要提取的局部变量的类型。
似乎您尝试将
VARCHAR2
字段提取到NUMBER
变量中。Check the types of the local variables you are fetching into.
Seems you try to fetch a
VARCHAR2
field into aNUMBER
variable.