我有几个SELECT语句是通过连接多个表来完成的。 每个select都返回单行,但从该行中的10到20个字段。存储该数据以供日后使用的最简单方法是什么?PL/SQL SELECT INTO alternative
我想避免创建50个变量和写入select语句,使用游标和单行循环不是我读到的最聪明的想法。
有没有很好的方法来做到这一点?
愚蠢的例子,让你可以大致了解
SELECT t1.field1
, t1.field2
, t1.field3
, t1.field4
, t2.field5
, t2.field6
, t2.field7
, t3.field8
FROM table1 t1
JOIN table2 t2 ON something
JOIN table3 t3 ON something
对不起,我的英语错误,并在此先感谢
谢谢您的回答。我无法创建视图,没有数据库权限。我已经发现了其他的解决方案,但被告知使用单行循环的性能非常糟糕。所以我希望有更好的办法做到这一点 – BeRightBack
虽然我个人的经验我不能认真评论性能问题,但我认为在一个单行中的“糟糕”性能往往在大型结果集环境下无害查询。我已经联合开发了几个带有广泛的plsql代码库的数据库应用程序,并且该模式从未成为问题 - ymmv。 – collapsar
您可以在plsql中定义一个可以接收记录的单个记录变量。但是,您必须定义记录类型及其所有组件,这些组件有效地等于列的各个变量的声明。如果这是可行的,看看更新的答案中的代码示例。 – collapsar