当前位置: 首页 > 面试题库 >

PL / SQL-将两个结果集缓存到集合中并将它们连接在一起?

林鸿飞
2023-03-14
问题内容

我有两个非常大的表,我需要从这些表中处理一个小的结果集。但是,每个处理都是在几个函数中完成的,并且函数必须进行一些连接才能以正确的方式格式化数据。

我肯定需要以某种方式缓存初始结果集,以便功能可以重复使用它。我想做的是将第一个结果集放在一个集合中,将第二个结果集放在另一个集合中,然后通过SQL查询将这些集合当作真实的SQL表进行操作。

您能建议如何做到这一点吗?


问题答案:

您需要创建一个架构级别的类型(不在包内)作为嵌套表。您可以填充它们,然后可以使用“ table()”语句在查询中将它们用作普通表。

该链接说明了您的需求。一个简单的例子

create type foo as table of number;-- or a record type, data%rowtype, whatever
...
myfoo1 foo := foo (1,2,3);
myfoo2 foo := foo(3,4,5)

select column_value
into bar
from table(foo1) join table(foo2) using (column_value)


 类似资料:
  • 主要内容:索引表,示例,嵌套表,集合方法,集合异常在本章中,我们将讨论PL/SQL中的集合。集合是具有相同数据类型的有序元素组。 每个元素都由一个唯一的下标来表示它在集合中的位置。 PL/SQL提供了三种集合类型 - 索引表或关联数组 嵌套的表 可变大小的数组或类型 Oracle的每种类型的集合有以下特征 - 集合类型 元素个数 下标类型 密集或稀疏 在哪创建 是否为对象类型属性 关联数组(或索引表) 无界 字符串或整数 任意一种 只在PL/SQ

  • 目前,我有一个节点应用程序,它使用mongoose将对象保存到MongoDB中。我使用的是类似于这样的模型: 它将我的对象保存到名为Registrations的集合中。 我将我的注册保存为: 我还希望在创建该对象时将其保存到另一个具有不同名称的集合中,如registrations_new或类似的内容。我想将此条目复制到新集合中。我尝试在连接字符串中添加另一个集合,这完全破坏了mongo部分,我尝试

  • 问题内容: 我知道这应该是简单的,我可能正直盯着问题,但我再次陷入困境,需要代码专家的帮助。 我试图从jdbc的一列中取出一行,并将它们放入数组中。 我这样做如下: creatConnection是已经定义的方法,可以执行其明显的工作。我在创建另一个结果集的同时创建了我的结果集,我将该列的字符串存储到一个数组中。然后打印出来以备不时之需。还要确保它在那里。 问题在于其将整个列存储到contactL

  • 问题内容: 我试图创建一个简单的存储过程,将查询的结果存储到一个字符串中。 将返回 我想将“ aaaa,bbbb,cccc”存储到v_string1中。我所能想到的只是一个游标…是否有更好的方法来处理此问题? 问题答案: 使用SQL Fiddle:

  • 我建立了一个连接到两个集合并将其存储在两个数组中,但我无法访问它,因为它是异步的。 此外,我还想执行类似于从学生中选择滚动的操作 db.student.find({},{roll:1,_id:0}); 但实现这一点并不奏效,它只是从集合中获取所有内容。 我试过使用Async/Await,但它不起作用。 我尝试实现async(npm模块),并使用async.Series方法,但没有成功。 对cons

  • 问题内容: 我想执行匿名PL / SQL,并需要获取结果集对象。我得到了可以通过使用PL / SQL块内的游标完成的代码。 但是PL / SQL块本身将以文本形式来自数据库。因此,我无法编辑该PL / SQL块。并且它将仅返回两个其列名始终相同的值。它将返回2个列组合值的列表。 在这里,我给出示例PL / SQL。 任何回复都将非常有帮助。 问题答案: 这是一个如何“执行匿名PL / SQL并获取