使用集合类型表达式TABLE
引用嵌套表时,数据库会返回一个包含单列的虚拟表,该列的名称为COLUMN_VALUE
,通过该伪列可以引用集合中的元素。
使用指南
COLUMN_VALUE
可以在集合类型的TABLE
表达式引用嵌套表时使用,可以出现在SELECT LIST
、WHERE
、HAVING
、ORDER BY
以及GROUP BY
等位置。
示例
使用
TABLE
表达式引用user_names
嵌套表查询所有用户名称。CREATE TYPE user_names IS TABLE OF varchar2(100); SELECT column_value FROM TABLE(user_names('Alice', 'Bob', 'Charlie'));
返回结果如下:
column_value -------------- Alice Bob Charlie (3 rows)
COLUMN_VALUE
可以被用于SELECT LIST
、WHERE
、HAVING
、ORDER BY
以及GROUP BY
子句。CREATE TYPE user_names IS TABLE OF varchar2(100); SELECT column_value FROM TABLE(user_names('Alice', 'Bob', 'Charlie', 'Alice', 'Alice', 'Bob', 'Charlie')) WHERE column_value = 'Alice';
返回结果如下:
column_value -------------- Alice Alice Alice (3 rows)
SELECT column_value FROM TABLE(user_names('Alice', 'Bob', 'Charlie', 'Alice', 'Alice', 'Bob', 'Charlie')) GROUP BY column_value HAVING column_value = 'Alice' ORDER BY column_value;
返回结果如下:
column_value -------------- Alice (1 row)
文档内容是否对您有帮助?