【问题标题】:how to store resultset in type and fetch in Oracle如何在类型中存储结果集并在 Oracle 中获取
【发布时间】:2017-02-16 05:15:20
【问题描述】:

我是 Oracle 的新手。我只想在变量中捕获选择的结果,然后我想使用该变量对该数据进行多次操作,就像我们在 Sql 服务器中使用表变量一样。

我尝试如下:

BEGIN
   DECLARE
      TYPE FullRecord IS RECORD (RNumber NUMBER);
      rec    FullRecord;
   BEGIN
      SELECT RNumber 
       INTO rec 
      FROM tableData;
   END;

END

;

【问题讨论】:

  • 查找plsql表
  • 我的要求是结果集有多个列(大约 15 列)并且都是通过加入多个表来实现的,因此希望在过程中捕获该数据并且该数据将在整个过程中使用。
  • 是的。您可以使用 PLSQL 表完成所有这些操作
  • 如果你能给我一些链接或输入,那就太好了,继续前进

标签: sql plsql oracle11g


【解决方案1】:

您需要BULK COLLECT。见下文:

DECLARE
      TYPE FullRecord1 IS RECORD (RNumber NUMBER);          
      TYPE FullRecord is table of FullRecord1 index by pls_integer;          
      rec    FullRecord;
BEGIN
      SELECT RNumber 
       BULK COLLECT INTO rec 
      FROM tableData;

   for i in 1..rec.count
   loop

    dbms_output.put_line(rec(i).RNumber);
   end loop;

END;

阅读更好的解释Here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-25
    • 2010-11-13
    • 2018-03-28
    • 2018-11-02
    • 2013-10-15
    • 1970-01-01
    • 2012-02-11
    • 2020-02-18
    相关资源
    最近更新 更多