使用集合类型表达式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)
该文章对您有帮助吗?