TABLE式でCOLUMN_VALUE疑似列を使用して、ネストされたテーブルなどのコレクションからデータを取得できます。 コレクションの要素を含む、COLUMN_VALUEという名前の単一の列を持つ仮想テーブルが返されます。
使用法
TABLE式のさまざまな句でCOLUMN_VALUE疑似列を使用できます。 句には、SELECT LIST、WHERE、HAVING、ORDER BY、およびGROUP BYが含まれます。
例
user_namesという名前のネストされたテーブルコレクションを作成します。TABLE式でCOLUMN_VALUE疑似列を使用して、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)SELECT LIST、WHERE、HAVING、ORDER BY、GROUP BY句のCOLUMN_VALUE疑似列を使用して、user_namesコレクション内の特定のデータを取得します。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)