Oracle PL / SQL:搜索记录类型值

托米奇

我正在使用Oracle 11G。可以说我将数据加载到的集合中ROWTYPE

emp_tab如果id不使用任何LOOP作为参数传递如何从集合中提取名称或年龄

  create table emp (id number, name varchar2(20), age number);
  insert into emp values(10,'Tom',20);
  insert into emp values(20,'Nicole',30);
  commit;
  select * from emp;

declare
       TYPE emp_t IS TABLE OF emp%ROWTYPE INDEX BY PLS_INTEGER;
       emp_tab emp_t;
begin
       select id,name,age bulk collect into emp_tab from emp;
           for idx in 1..emp_tab.count loop
           dbms_output.put_line(emp_tab(idx).name);
       end loop;
end;
威廉·罗伯逊

您需要使用来对集合进行索引emp.id,并填充无法使用的集合bulk collect(至少不是在11g中-在20c中可能是)。

declare
    type emp_t is table of emp%rowtype index by pls_integer;
    emp_tab emp_t;
    
    idx emp.id%type;
begin
    for r in (
        select id, name, age
        from   emp
    )
    loop
        emp_tab(r.id).name := r.name;
        emp_tab(r.id).age := r.age;
    end loop;

    idx := emp_tab.first;

    while idx is not null loop
        dbms_output.put_line(emp_tab(idx).name);
        idx := emp_tab.next(idx);
    end loop;
end;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从Oracle PL / SQL中的另一个包中获取记录类型的值

来自分类Dev

PL / SQL Oracle交互

来自分类Dev

Oracle 不是 pl/sql

来自分类Dev

在Oracle pl / sql函数中定义类型

来自分类Dev

收到错误在PL / SQL的Oracle

来自分类Dev

Oracle PL / SQL条件声明?

来自分类Dev

Oracle PL / SQL代码约定

来自分类Dev

Oracle触发PL / SQL错误

来自分类Dev

Oracle PL / SQL算术错误

来自分类Dev

收到oracle PL / SQL错误

来自分类Dev

Oracle PL / SQL:函数游标

来自分类Dev

Oracle PL / SQL映射,值是数组

来自分类Dev

Oracle Pl / SQL:如何实现指向内存中记录类型的指针

来自分类Dev

在PL / SQL函数[Oracle PL / SQL]的末尾消除逗号

来自分类Dev

Oracle PL/SQL:如何根据同一记录的 ID 字段返回字符串值?

来自分类Dev

ORACLE SQL,PL / SQL的局限性

来自分类Dev

Oracle SQL Developer PL / SQL返回数组

来自分类Dev

Oracle pl / sql脚本,递增数字

来自分类Dev

遍历Oracle PL / SQL中的表

来自分类Dev

Oracle PL / SQL约束触发器

来自分类Dev

行成列Oracle pl sql

来自分类Dev

列名在PL / SQL ORACLE中作为变量

来自分类Dev

ORACLE PL / SQL-授予/撤销特权

来自分类Dev

第三最近的元素pl / sql oracle

来自分类Dev

“ For循环” Oracle PL / SQL中的迭代计数

来自分类Dev

Oracle PL / SQL在根节点查询之前

来自分类Dev

PL / SQL Oracle 11g循环

来自分类Dev

如何检查Oracle PL / SQL Developer的时区

来自分类Dev

在Oracle PL / SQL中打印精美