【发布时间】:2014-08-12 08:36:55
【问题描述】:
我正在编写一个 SQL 过程来执行以下任务。
- 从表 A 中读取数据。其中的列是 Col1、Col2、Col3、Col4、Col5、Col6。
- 我必须在表 B 中搜索主键(数字)并归档 Col1、Col2、Col3。
- 在表6中插入主键COL4,COL5,COL6。
表 A 可以包含任意数量的 COL1、COL2 和 COL3 组合。
在这里,我正在读取表 A 中的所有数据,但我不想每次都在表 B 上触发搜索查询以找出表 B 中的键。但我喜欢在某处存储/获取表 B 的数据(地图等),然后想在那里搜索并插入表 C。在 PL/SQL 中可以吗?
简而言之,我想缓存表 B 的数据并执行搜索并获取那里的数据。
【问题讨论】:
-
为什么不在查询中将表连接在一起——让数据库做它擅长的事情?您在这里真的需要任何 PL/SQL - 听起来您可以通过一个简单的步骤
insert ... select吗? -
谢谢亚历克斯。我试过了,但问题是如果表 B 中缺少参考,那么我将无法弄清楚。
-
这不就是外连接的用途吗?我相信缓存和 RobertK 的答案对你有用,但你可能想寻找未来的替代方案。
标签: oracle plsql plsqldeveloper