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_TABLENAME
TYPE0:system table 1:view 2:table
PDO::CUBRID_SCH_VIEWNAME
TYPE1:view
PDO::CUBRID_SCH_QUERY_SPECQUERY_SPEC
PDO::CUBRID_SCH_ATTRIBUTE / PDO::CUBRID_SCH_TABLE_ATTRIBUTEATTR_NAME
DOMAIN
3SCALE
4PRECISION
5INDEXED1:indexed
6NOT NULL1:not null
7SHARED1:shared
8UNIQUE1:unique
9DEFAULT
10ATTR_ORDERbase:1
11CLASS_NAME
12SOURCE_CLASS
13IS_KEY1:key
PDO::CUBRID_SCH_METHOD / PDO::CUBRID_SCH_TABLE_METHODNAME
RET_DOMAIN
3ARG_DOMAIN
PDO::CUBRID_SCH_METHOD_FILEMETHOD_FILE
PDO::CUBRID_SCH_SUPER_TABLE / PDO::CUBRID_SCH_DIRECT_SUPER_TABLE / PDO::CUBRID_SCH_SUB_TABLECLASS_NAME
TYPE0:system table 1:view 2:table
PDO::CUBRID_SCH_CONSTRAINTTYPE0:unique 1:index 2:reverse unique 3:reverse index
NAME
3ATTR_NAME
4NUM_PAGES
5NUM_KEYS
6PRIMARY_KEY1:primary key
7KEY_ORDERbase:1
PDO::CUBRID_SCH_TRIGGERNAME
STATUS
3EVENT
4TARGET_CLASS
5TARGET_ATTR
6ACTION_TIME
7ACTION
8PRIORITY
9CONDITION_TIME
10CONDITION
PDO::CUBRID_SCH_TABLE_PRIVILEGE / PDO::CUBRID_SCH_COL_PRIVILEGECLASS_NAME / ATTR_NAME
PRIVILEGE
3GRANTABLE
PDO::CUBRID_SCH_PRIMARY_KEYCLASS_NAME
ATTR_NAME
3KEY_SEQbase:1
4KEY_NAME
PDO::CUBRID_SCH_IMPORTED_KEYS / PDO::CUBRID_SCH_EXPORTED_KEYS / PDO::CUBRID_SCH_CROSS_REFERENCEPKTABLE_NAME
PKCOLUMN_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".

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
        )

)