PDO::cubrid_schema
(PECL PDO_CUBRID >= 8.3.0.0001)
PDO::cubrid_schema — Отримати запитану інформацію про схему
Опис
public PDO::cubrid_schema(int $schema_type, string $table_name = ?, string $col_name = ?): array
Ця функція використовується для отримання інформації про схему бази даних. Якщо необхідна інформація про конкретну таблицю, необхідно буде вказати її ім'я в параметрі table_name
. Якщо потрібна інформація про конкретний стовпчик таблиці, його ім'я необхідно вказати в параметрі col_name
(може використовуватись тільки з PDO::CUBRID_SCH_COL_PRIVILEGE).
Результат буде повернутий у вигляді двовимірного масиву (стовпець (асоціативний масив)) * рядок (асоціативний масив). У наступній таблиці наводяться типи схеми та структура стовпців результуючого масиву, який буде повернутий залежно від типу схеми, що використовується.
Склад результату кожного типу
Схема | Номер столбца | Имя столбца | Значение |
---|---|---|---|
PDO::CUBRID_SCH_TABLE | NAME | ||
TYPE | 0:system table 1:view 2:table | ||
PDO::CUBRID_SCH_VIEW | NAME | ||
TYPE | 1:view | ||
PDO::CUBRID_SCH_QUERY_SPEC | QUERY_SPEC | ||
PDO::CUBRID_SCH_ATTRIBUTE / PDO::CUBRID_SCH_TABLE_ATTRIBUTE | ATTR_NAME | ||
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 | NAME | ||
RET_DOMAIN | |||
3 | ARG_DOMAIN | ||
PDO::CUBRID_SCH_METHOD_FILE | METHOD_FILE | ||
PDO::CUBRID_SCH_SUPER_TABLE / PDO::CUBRID_SCH_DIRECT_SUPER_TABLE / PDO::CUBRID_SCH_SUB_TABLE | CLASS_NAME | ||
TYPE | 0:system table 1:view 2:table | ||
PDO::CUBRID_SCH_CONSTRAINT | TYPE | 0:unique 1:index 2:reverse unique 3:reverse index | |
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 | NAME | ||
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 | CLASS_NAME / ATTR_NAME | ||
PRIVILEGE | |||
3 | GRANTABLE | ||
PDO::CUBRID_SCH_PRIMARY_KEY | CLASS_NAME | ||
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 | PKTABLE_NAME | ||
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
Необхідний тип схеми.
table_name
Назва таблиці, схему якої ви хочете отримати.
col_name
Ім'я шпальти, схему якої ви хочете отримати.
Значення, що повертаються
У разі успішного виконання буде повернено асоціативний масив зі схемою.
У разі невдачі буде повернено false
Приклади
Приклад #1 Приклад використання PDO::cubrid_schema()****
У цьому прикладі демонструється отримання інформації про первинні та вторинні ключі таблиці "game".
Loading...
Результат виконання наведеного прикладу:
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
)
)