小编Nat*_*ty 的帖子

Oracle 使用 LOOP 批量收集到集合中

http://www.oracle.com/technetwork/issue-archive/2008/08-mar/o28plsql-095155.html

在此页面中,他们提到:

当您使用 BULK COLLECT 和集合从游标中获取数据时,您永远不应该依赖游标属性来决定是否终止循环和数据处理。

他提到,为了确保我们的查询处理所有行,我们应该

不使用:

退出时间

光标%NOTFOUND;

我们应该使用:

退出时间

集合变量.count=0;

是什么原因?

oracle plsql bulk-collect

1
推荐指数
1
解决办法
2150
查看次数

在 PL/SQL Developer 中测试函数

这是我的功能:

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 企业版

oracle plsql plsqldeveloper

0
推荐指数
1
解决办法
2万
查看次数

标签 统计

oracle ×2

plsql ×2

bulk-collect ×1

plsqldeveloper ×1