(PECL PDO_CUBRID >= 8.3.0.0001)
PDO::cubrid_schema — Récupère le schéma d'informations demandé
Cette fonction est utilisée pour récupérer le schéma d'informations demandé depuis
la base de données.
Vous devez désigner le paramètre table_name
,
si vous souhaitez récupérer les informations d'une certaine table, le
paramètre col_name
, si vous souhaitez récupérer les informations
d'une certaine colonne (ne peut être utilisé qu'avec
PDO::CUBRID_SCH_COL_PRIVILEGE).
Le résultat de cette fonction est retourné sous la forme d'un tableau à 2 dimensions (colonne(tableau associatif) * ligne (tableau numérique)). Les tables suivantes montrent les types de schéma et la structure de la colonne du tableau résultant.
Schéma | Numéro de la colonne | Nom de la colonne | Valeur |
---|---|---|---|
PDO::CUBRID_SCH_TABLE | 1 | NAME | |
2 | TYPE | 0:system table 1:view 2:table | |
PDO::CUBRID_SCH_VIEW | 1 | NAME | |
2 | TYPE | 1:view | |
PDO::CUBRID_SCH_QUERY_SPEC | 1 | QUERY_SPEC | |
PDO::CUBRID_SCH_ATTRIBUTE / PDO::CUBRID_SCH_TABLE_ATTRIBUTE | 1 | ATTR_NAME | |
2 | DOMAIN | ||
3 | SCALE | ||
4 | PRECISION | ||
5 | INDEXED | 1:indexed | |
6 | NOT NULL | 1:not null | |
7 | SHARED | 1:shared | |
8 | UNIQUE | 1:unique | |
9 | DEFAULT | ||
10 | ATTR_ORDER | base:1 | |
11 | CLASS_NAME | ||
12 | SOURCE_CLASS | ||
13 | IS_KEY | 1:key | |
PDO::CUBRID_SCH_METHOD / PDO::CUBRID_SCH_TABLE_METHOD | 1 | NAME | |
2 | RET_DOMAIN | ||
3 | ARG_DOMAIN | ||
PDO::CUBRID_SCH_METHOD_FILE | 1 | METHOD_FILE | |
PDO::CUBRID_SCH_SUPER_TABLE / PDO::CUBRID_SCH_DIRECT_SUPER_TABLE / PDO::CUBRID_SCH_SUB_TABLE | 1 | CLASS_NAME | |
2 | TYPE | 0:system table 1:view 2:table | |
PDO::CUBRID_SCH_CONSTRAINT | 1 | TYPE | 0:unique 1:index 2:reverse unique 3:reverse index |
2 | NAME | ||
3 | ATTR_NAME | ||
4 | NUM_PAGES | ||
5 | NUM_KEYS | ||
6 | PRIMARY_KEY | 1:primary key | |
7 | KEY_ORDER | base:1 | |
PDO::CUBRID_SCH_TRIGGER | 1 | NAME | |
2 | STATUS | ||
3 | EVENT | ||
4 | TARGET_CLASS | ||
5 | TARGET_ATTR | ||
6 | ACTION_TIME | ||
7 | ACTION | ||
8 | PRIORITY | ||
9 | CONDITION_TIME | ||
10 | CONDITION | ||
PDO::CUBRID_SCH_TABLE_PRIVILEGE / PDO::CUBRID_SCH_COL_PRIVILEGE | 1 | CLASS_NAME / ATTR_NAME | |
2 | PRIVILEGE | ||
3 | GRANTABLE | ||
PDO::CUBRID_SCH_PRIMARY_KEY | 1 | CLASS_NAME | |
2 | ATTR_NAME | ||
3 | KEY_SEQ | base:1 | |
4 | KEY_NAME | ||
PDO::CUBRID_SCH_IMPORTED_KEYS / PDO::CUBRID_SCH_EXPORTED_KEYS / PDO::CUBRID_SCH_CROSS_REFERENCE | 1 | PKTABLE_NAME | |
2 | PKCOLUMN_NAME | ||
3 | FKTABLE_NAME | base:1 | |
4 | FKCOLUMN_NAME | ||
5 | KEY_SEQ | base:1 | |
6 | UPDATE_ACTION | 0:cascade 1:restrict 2:no action 3:set null | |
7 | DELETE_ACTION | 0:cascade 1:restrict 2:no action 3:set null | |
8 | FK_NAME | ||
9 | PK_NAME |
schema_type
Le type du schéma que vous souhaitez récupérer.
table_name
La table dont vous souhaitez récupérer le schéma.
col_name
La colonne dont vous souhaitez récupérer le schéma.
Un tableau contenant les informations relatives au schéma, lorsque le processus s'est exécuté avec succès.
false
sera retourné si une erreur survient.
Exemple #1 Exemple avec PDO::cubrid_schema()
Cet exemple montre la façon dont on récupère les clés primaires et étrangères de la table "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);
?>
L'exemple ci-dessus va afficher :
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 ) )