PDO::cubrid_schema

(PECL PDO_CUBRID >= 8.3.0.0001)

PDO::cubrid_schema指定したスキーマ情報を取得する

説明

publicPDO::cubrid_schema(int$schema_type, string$table_name = ?, string$col_name = ?): array

指定したスキーマ情報をデータベースから取得します。 テーブルの情報を知りたい場合は table_name を指定しなければなりません。また、 カラムの情報を知りたければ col_name を指定しなければなりません (PDO::CUBRID_SCH_COL_PRIVILEGE とともにしか使えません)。

この関数の返す結果は二次元の配列になります (column (associative array) * row (numeric array))。 次の表は、スキーマの型と戻り値の構造を示したものです。

型ごとの戻り値の構造
スキーマカラム番号カラム名
PDO::CUBRID_SCH_TABLE1NAME 
 2TYPE0:システムテーブル 1:ビュー 2:テーブル
PDO::CUBRID_SCH_VIEW1NAME 
 2TYPE1:ビュー
PDO::CUBRID_SCH_QUERY_SPEC1QUERY_SPEC 
PDO::CUBRID_SCH_ATTRIBUTE / PDO::CUBRID_SCH_TABLE_ATTRIBUTE1ATTR_NAME 
 2DOMAIN 
 3SCALE 
 4PRECISION 
 5INDEXED1:インデックス
 6NOT NULL1:not null
 7SHARED1:共有
 8UNIQUE1:unique
 9DEFAULT 
 10ATTR_ORDERbase:1
 11CLASS_NAME 
 12SOURCE_CLASS 
 13IS_KEY1:キー
PDO::CUBRID_SCH_METHOD / PDO::CUBRID_SCH_TABLE_METHOD1NAME 
 2RET_DOMAIN 
 3ARG_DOMAIN 
PDO::CUBRID_SCH_METHOD_FILE1METHOD_FILE 
PDO::CUBRID_SCH_SUPER_TABLE / PDO::CUBRID_SCH_DIRECT_SUPER_TABLE / PDO::CUBRID_SCH_SUB_TABLE1CLASS_NAME 
 2TYPE0:システムテーブル 1:ビュー 2:テーブル
PDO::CUBRID_SCH_CONSTRAINT1TYPE0:unique 1:index 2:reverse unique 3:reverse index
 2NAME 
 3ATTR_NAME 
 4NUM_PAGES 
 5NUM_KEYS 
 6PRIMARY_KEY1:主キー
 7KEY_ORDERbase:1
PDO::CUBRID_SCH_TRIGGER1NAME 
 2STATUS 
 3EVENT 
 4TARGET_CLASS 
 5TARGET_ATTR 
 6ACTION_TIME 
 7ACTION 
 8PRIORITY 
 9CONDITION_TIME 
 10CONDITION 
PDO::CUBRID_SCH_TABLE_PRIVILEGE / PDO::CUBRID_SCH_COL_PRIVILEGE1CLASS_NAME / ATTR_NAME 
 2PRIVILEGE 
 3GRANTABLE 
PDO::CUBRID_SCH_PRIMARY_KEY1CLASS_NAME 
 2ATTR_NAME 
 3KEY_SEQbase:1
 4KEY_NAME 
PDO::CUBRID_SCH_IMPORTED_KEYS / PDO::CUBRID_SCH_EXPORTED_KEYS / PDO::CUBRID_SCH_CROSS_REFERENCE1PKTABLE_NAME 
 2PKCOLUMN_NAME 
 3FKTABLE_NAMEbase:1
 4FKCOLUMN_NAME 
 5KEY_SEQbase:1
 6UPDATE_ACTION0:cascade 1:restrict 2:no action 3:set null
 7DELETE_ACTION0:cascade 1:restrict 2:no action 3:set null
 8FK_NAME 
 9PK_NAME 

パラメータ

schema_type

知りたいスキーマの型。

table_name

スキーマを知りたいテーブル。

col_name

スキーマを知りたいカラム。

戻り値

処理に成功すると、スキーマ情報を含む配列を返します。

処理に失敗した場合は FALSE を返します。

例1 PDO::cubrid_schema() の例

これは、game テーブルの主キーと外部キーを取得する例です。

<?php
$pk_list
= $dbh->cubrid_schema(PDO::CUBRID_SCH_PRIMARY_KEY, "game");
print_r($pk_list);

$fk_list = $dbh->cubrid_schema(PDO::CUBRID_SCH_IMPORTED_KEYS, "game");
print_r($fk_list);
?>

上の例の出力は以下となります。

Result: Array ( [0] => Array ( [CLASS_NAME] => game [ATTR_NAME] => athlete_code [KEY_SEQ] => 3 [KEY_NAME] => pk_game_host_year_event_code_athlete_code ) [1] => Array ( [CLASS_NAME] => game [ATTR_NAME] => event_code [KEY_SEQ] => 2 [KEY_NAME] => pk_game_host_year_event_code_athlete_code ) [2] => Array ( [CLASS_NAME] => game [ATTR_NAME] => host_year [KEY_SEQ] => 1 [KEY_NAME] => pk_game_host_year_event_code_athlete_code ) ) Array ( [0] => Array ( [PKTABLE_NAME] => athlete [PKCOLUMN_NAME] => code [FKTABLE_NAME] => game [FKCOLUMN_NAME] => athlete_code [KEY_SEQ] => 1 [UPDATE_RULE] => 1 [DELETE_RULE] => 1 [FK_NAME] => fk_game_athlete_code [PK_NAME] => pk_athlete_code ) [1] => Array ( [PKTABLE_NAME] => event [PKCOLUMN_NAME] => code [FKTABLE_NAME] => game [FKCOLUMN_NAME] => event_code [KEY_SEQ] => 1 [UPDATE_RULE] => 1 [DELETE_RULE] => 1 [FK_NAME] => fk_game_event_code [PK_NAME] => pk_event_code ) )
To Top