如何在 PL/SQL 中创建两个表的记录类型?
Posted
技术标签:
【中文标题】如何在 PL/SQL 中创建两个表的记录类型?【英文标题】:How to create record type of two tables in PL/SQL? 【发布时间】:2016-11-14 04:05:30 【问题描述】:我有两个表 A,B,有很多列和一个光标
CURSOR Cur
IS
select A.*, B.* FROM A,B
我想将游标提取到存储两个表的行类型的 TYPE 中。 但是,我不想通过键入两个表的所有列名来创建 TYPE。我尝试了以下方法,但它们都不起作用。
--1
RecA A%RowType
RecB B%RowType
FETCH Cur INTO RecA, RecB
--2
RecA A%RowType
RecB B%RowType
RecAB A||B%RowType
FETCH Cur INTO RecAB
附:这个问题可以通过使用两个游标来解决,但我想知道有没有办法连接两个行类型。
【问题讨论】:
【参考方案1】:阅读the fine manual:
explicit_cursor_name
显式游标的名称。对于与
explicit_cursor_name
关联的查询选择的每一列,记录都有一个具有相同名称和数据类型的字段。
所以你可以简单地说:
type cur_t is cur%rowtype;
另见the examples。
【讨论】:
以上是关于如何在 PL/SQL 中创建两个表的记录类型?的主要内容,如果未能解决你的问题,请参考以下文章