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_CLASSNAME
TYPE0:system class 1:vclass 2:class
CUBRID_SCH_VCLASSNAME
TYPE1:vclass
CUBRID_SCH_QUERY_SPECQUERY_SPEC
CUBRID_SCH_ATTRIBUTE / CUBRID_SCH_CLASS_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
CUBRID_SCH_METHOD / CUBRID_SCH_CLASS_METHODNAME
RET_DOMAIN
3ARG_DOMAIN
CUBRID_SCH_METHOD_FILEMETHOD_FILE
CUBRID_SCH_SUPERCLASS / CUBRID_SCH_DIRECT_SUPER_CLASS / CUBRID_SCH_SUBCLASSCLASS_NAME
TYPE0:system class 1:vclass 2:class
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
CUBRID_SCH_TRIGGERNAME
STATUS
3EVENT
4TARGET_CLASS
5TARGET_ATTR
6ACTION_TIME
7ACTION
8PRIORITY
9CONDITION_TIME
10CONDITION
CUBRID_SCH_CLASS_PRIVILEGE / CUBRID_SCH_ATTR_PRIVILEGECLASS_NAME / ATTR_NAME
PRIVILEGE
3GRANTABLE
CUBRID_SCH_PRIMARY_KEYCLASS_NAME
ATTR_NAME
3KEY_SEQbase:1
4KEY_NAME
CUBRID_SCH_IMPORTED_KEYS / CUBRID_SCH_EXPORTED_KEYS / 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

Список параметрів

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"
  }
}