cubrid_schema
(PECL CUBRID >= 8.3.0)
cubrid_schema — Отримує запитану інформацію про схему
Опис
cubrid_schema( resource $conn_identifier, int $schema_type, string $class_name = ?, string $attr_name = ?): array
Функцияcubrid_schema() використовується для отримання запитаної інформації про схему бази даних. Ви повинні вказати class_name
, якщо ви хочете отримати інформацію про певний клас, attr_name
, якщо ви хочете отримати інформацію про певний атрибут (може використовуватись тільки з CUBRID_SCH_ATTR_PRIVILEGE
Результат функцииcubrid_schema() повертається у вигляді двовимірного масиву (стовпець (асоціативний масив)) * рядок (числовий масив)). У наступних таблицях показані типи схем та структура стовпців результуючого масиву, які мають бути повернуті на основі типу схеми.
Склад результату кожного типу
Схема | Номер столбца | Имя столбца | Значение |
---|---|---|---|
CUBRID_SCH_CLASS | NAME | ||
TYPE | 0:system class 1:vclass 2:class | ||
CUBRID_SCH_VCLASS | NAME | ||
TYPE | 1:vclass | ||
CUBRID_SCH_QUERY_SPEC | QUERY_SPEC | ||
CUBRID_SCH_ATTRIBUTE / CUBRID_SCH_CLASS_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 | |
CUBRID_SCH_METHOD / CUBRID_SCH_CLASS_METHOD | NAME | ||
RET_DOMAIN | |||
3 | ARG_DOMAIN | ||
CUBRID_SCH_METHOD_FILE | METHOD_FILE | ||
CUBRID_SCH_SUPERCLASS / CUBRID_SCH_DIRECT_SUPER_CLASS / CUBRID_SCH_SUBCLASS | CLASS_NAME | ||
TYPE | 0:system class 1:vclass 2:class | ||
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 | |
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 | ||
CUBRID_SCH_CLASS_PRIVILEGE / CUBRID_SCH_ATTR_PRIVILEGE | CLASS_NAME / ATTR_NAME | ||
PRIVILEGE | |||
3 | GRANTABLE | ||
CUBRID_SCH_PRIMARY_KEY | CLASS_NAME | ||
ATTR_NAME | |||
3 | KEY_SEQ | base:1 | |
4 | KEY_NAME | ||
CUBRID_SCH_IMPORTED_KEYS / CUBRID_SCH_EXPORTED_KEYS / 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 |
Список параметрів
conn_identifier
Ідентифікатор з'єднання.
schema_type
Дані схеми, які ви хочете дізнатися.
class_name
Клас, для якого ви хочете дізнатися про схему.
attr_name
Атрибут, для якого ви хочете дізнатися про схему.
Значення, що повертаються
Масив, що містить інформацію про схему, у разі успішного виконання або **false
**в случае возникновения ошибки.
список змін
Версия | Опис |
---|---|
8.3.1 | Змінено значення, що повертається: якщо процес завершився з помилкою, повертається false, а не -1. |
Приклади
Приклад #1 Приклад використання cubrid_schema()****
Loading...
Результат виконання наведеного прикладу:
--- Первичный ключ ---
array(3) {
[0]=>
array(4) {
["CLASS_NAME"]=>
string(4) "game"
["ATTR_NAME"]=>
string(12) "athlete_code"
["KEY_SEQ"]=>
string(1) "3"
["KEY_NAME"]=>
string(41) "pk_game_host_year_event_code_athlete_code"
}
[1]=>
array(4) {
["CLASS_NAME"]=>
string(4) "game"
["ATTR_NAME"]=>
string(10) "event_code"
["KEY_SEQ"]=>
string(1) "2"
["KEY_NAME"]=>
string(41) "pk_game_host_year_event_code_athlete_code"
}
[2]=>
array(4) {
["CLASS_NAME"]=>
string(4) "game"
["ATTR_NAME"]=>
string(9) "host_year"
["KEY_SEQ"]=>
string(1) "1"
["KEY_NAME"]=>
string(41) "pk_game_host_year_event_code_athlete_code"
}
}
--- Внешние ключи ---
array(2) {
[0]=>
array(9) {
["PKTABLE_NAME"]=>
string(7) "athlete"
["PKCOLUMN_NAME"]=>
string(4) "code"
["FKTABLE_NAME"]=>
string(4) "game"
["FKCOLUMN_NAME"]=>
string(12) "athlete_code"
["KEY_SEQ"]=>
string(1) "1"
["UPDATE_RULE"]=>
string(1) "1"
["DELETE_RULE"]=>
string(1) "1"
["FK_NAME"]=>
string(20) "fk_game_athlete_code"
["PK_NAME"]=>
string(15) "pk_athlete_code"
}
[1]=>
array(9) {
["PKTABLE_NAME"]=>
string(5) "event"
["PKCOLUMN_NAME"]=>
string(4) "code"
["FKTABLE_NAME"]=>
string(4) "game"
["FKCOLUMN_NAME"]=>
string(10) "event_code"
["KEY_SEQ"]=>
string(1) "1"
["UPDATE_RULE"]=>
string(1) "1"
["DELETE_RULE"]=>
string(1) "1"
["FK_NAME"]=>
string(18) "fk_game_event_code"
["PK_NAME"]=>
string(13) "pk_event_code"
}
}
--- Атрибут столбца ---
array(1) {
[0]=>
array(13) {
["ATTR_NAME"]=>
string(4) "area"
["DOMAIN"]=>
string(1) "7"
["SCALE"]=>
string(1) "2"
["PRECISION"]=>
string(2) "10"
["INDEXED"]=>
string(1) "0"
["NON_NULL"]=>
string(1) "0"
["SHARED"]=>
string(1) "0"
["UNIQUE"]=>
string(1) "0"
["DEFAULT"]=>
NULL
["ATTR_ORDER"]=>
string(1) "4"
["CLASS_NAME"]=>
string(7) "stadium"
["SOURCE_CLASS"]=>
string(7) "stadium"
["IS_KEY"]=>
string(1) "0"
}
}