無料スクリプト配布のPHP.TO   PHPの実用的なtips PHPマニュアル MySQLマニュアル Apacheマニュアル PostgreSQLマニュアル マニュアル検索    

34.23. element_types

element_types には、配列の要素のデータ型記述子が含まれます。 テーブル列、複合データ型属性、ドメイン、関数パラメータ、関数の戻り値が配列型であると宣言された場合、 情報スキーマの各ビューでは、 data_type 列に ARRAY だけが含まれます。 配列の要素の型についての情報を取り出すには、各ビューとこのビューを結合することで可能です。 例えば、テーブルの列のデータ型と、もし適切ならば、配列の要素型を表示するには、以下のように行います。

SELECT c.column_name, c.data_type, e.data_type AS element_type
FROM information_schema.columns c LEFT JOIN information_schema.element_types e
     ON ((c.table_catalog, c.table_schema, c.table_name, 'TABLE', c.dtd_identifier)
       = (e.object_catalog, e.object_schema, e.object_name, e.object_type, e.collection_type_identifier))
WHERE c.table_schema = '...' AND c.table_name = '...'
ORDER BY c.ordinal_position;

このビューは、所有者である、適切な権限を持っているといった方法で、現在のユーザがアクセスできるオブジェクトのみが含まれます。

表 34-21. element_types の列

名前 データ型 説明
object_catalog sql_identifier 記述される配列を使用するオブジェクトを持つデータベースの名前です (常に現在のデータベースです)。
object_schema sql_identifier 記述される配列を使用するオブジェクトを持つスキーマの名前です。
object_name sql_identifier 記述される配列を使用するオブジェクトの名前です。
object_type character_data 記述される配列を使用するオブジェクトの種類です。 TABLE (その配列がテーブルの列によって使用される)、 USER-DEFINED TYPE (その配列が複合データ型の属性によって使用される)、 DOMAIN (その配列がドメインによって使用される)、 ROUTINE (その配列が関数のパラメータ、もしくは戻り値の型によって使用される)のいずれかです。
collection_type_identifier sql_identifier 記述される配列のデータ型記述子の識別子です。他の情報スキーマビューの dtd_identifier 列と結合するのに使用してください。
data_type character_data 組み込み型の場合は配列要素のデータ型です。さもなくば、 USER-DEFINED です (この場合、型は udt_name と関連する列で識別されます)。
character_maximum_length cardinal_number 常にNULLです。 この情報は、 PostgreSQL における配列要素のデータ型には当てはまらないからです。
character_octet_length cardinal_number 常にNULLです。 この情報は、 PostgreSQL における配列要素のデータ型には当てはまらないからです。
character_set_catalog sql_identifier PostgreSQL で利用できない機能に適用されるものです。
character_set_schema sql_identifier PostgreSQL で利用できない機能に適用されるものです。
character_set_name sql_identifier PostgreSQL で利用できない機能に適用されるものです。
collation_catalog sql_identifier 要素データ型の照合を含むデータベース(常に現在のデータベース)の名前で、デフォルトであるか要素のデータ型が照合可能でない場合はNULLです。
collation_schema sql_identifier 要素データ型の照合を含むスキーマの名前で、デフォルトであるか要素のデータ型が照合可能でない場合はNULLです。
collation_name sql_identifier 要素データ型の照合の名前で、デフォルトであるか要素のデータ型が照合可能でない場合はNULLです。
numeric_precision cardinal_number 常にNULLです。 この情報は、 PostgreSQL における配列要素のデータ型には当てはまらないからです。
numeric_precision_radix cardinal_number 常にNULLです。 この情報は、 PostgreSQL における配列要素のデータ型には当てはまらないからです。
numeric_scale cardinal_number 常にNULLです。 この情報は、 PostgreSQL における配列要素のデータ型には当てはまらないからです。
datetime_precision cardinal_number 常にNULLです。 この情報は、 PostgreSQL における配列要素のデータ型には当てはまらないからです。
interval_type character_data 常にNULLです。 この情報は、 PostgreSQL における配列要素のデータ型には当てはまらないからです。
interval_precision cardinal_number 常にNULLです。 この情報は、 PostgreSQL における配列要素のデータ型には当てはまらないからです。
domain_default character_data 未実装です。
udt_catalog sql_identifier 要素のデータ型を定義したデータベースの名前です (常に現在のデータベースです)。
udt_schema sql_identifier 要素のデータ型を定義したスキーマの名前です。
udt_name sql_identifier 要素のデータ型の名前です。
scope_catalog sql_identifier PostgreSQL で利用できない機能に適用されるものです。
scope_schema sql_identifier PostgreSQL で利用できない機能に適用されるものです。
scope_name sql_identifier PostgreSQL で利用できない機能に適用されるものです。
maximum_cardinality cardinal_number 常にNULLです。 PostgreSQL では配列の最大次数は常に無制限だからです。
dtd_identifier sql_identifier 要素のデータ型記述子の識別子です。現在は用途はありません。

powered by SEO.CUG.NET