http://www.oracle.com/technetwork/issue-archive/2008/08-mar/o28plsql-095155.html
在此页面中,他们提到:
当您使用 BULK COLLECT 和集合从游标中获取数据时,您永远不应该依赖游标属性来决定是否终止循环和数据处理。
他提到,为了确保我们的查询处理所有行,我们应该
不使用:
退出时间
光标%NOTFOUND;
我们应该使用:
退出时间
集合变量.count=0;
是什么原因?
这是我的功能:
FUNCTION GET(V_IN IN NUMBER) RETURN VARCHAR2 AS
V_OUT VARCHAR2(1000);
BEGIN
function body
END;
Run Code Online (Sandbox Code Playgroud)
当我右键单击该函数并单击测试时,我得到以下信息:
begin
-- Call the function
:result := pkg.get(V_IN => :V_IN);
end;
Run Code Online (Sandbox Code Playgroud)
如何替换该变量 V_IN 的值?我需要测试一个数字,比如 940。
当我尝试代码时:
declare
r varchar2(2000);
begin
-- Call the function
r := pkg.get(940);
end;
Run Code Online (Sandbox Code Playgroud)
我收到错误:
ORA-01036: illegal variable name/number
Run Code Online (Sandbox Code Playgroud)
您能建议调用此函数的各种方法吗?
PS:使用的工具:PL/SQL Developer Allround Automations。版本8.0.1.1502
Oracle 数据库 11g 企业版