resource odbc_statistics (resource connection, string catalog, string schema, string table, integer unique, integer reserved)
Функция odbc_statistics возвращает результирующий набор со сведениями о таблице и ее индексах. Далеко не все ODBC-драйверы поддерживают аргументы catalog и schema, и в таком случае передаются пустые строки. Аргумент unique управляет типом включаемых индексов. Если в этом аргументе задается константа SQL_INDEX_UNIQUE, включаются только уникальные индексы. PHP включает все индексы, если в аргументе unique задано значение SQL_INDEX_ALL. Аргумент reserved управляет выборкой столбцов CARDINALITY и PAGES в результирующем наборе. Для безусловной выборки статистики аргументу задается значение SQL_ENSURE. Для отправки только тех данных, которые уже готовы к отправке, нужно установить значение SQL_QUICK. Некоторые ODBC-драйверы могут возвращать данные только в режиме SQL_QUICK.
Результирующий набор содержит следующие столбцы: TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME, NON_UNIQUE, INDEX_QUALIFIER, INDEX_NAME, TYPE, SEQ_IN_INDEX, COLUMN_NAME, COLLATION, CARDINALITY, PAGES и
FILTER_CONDITION.
resource odbc_tableprivileges(resource connection, string catalog, string schema, string table)
Функция odbc_tableprivileges возвращает результирующий набор с описанием таблиц и их привилегий. Далеко не все ODBC-драйверы поддерживают аргументы catalog и schema, и в таком случае передаются пустые строки. В аргументе table можно задавать шаблоны для указания имен таблиц. Можно использовать групповые символы % и _.
Результирующий набор содержит следующие столбцы: TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME, GRANTOR, GRANTEE, PRIVILEGE иIS_GRANTABLE.
resource odbc_tables(resource connection, string catalog, string schema, string table, string types)
Функция odbc_tables возвращает результирующий набор с описанием таблиц из указанного каталога. Не все ODBC-драйверы поддерживают аргументы catalog и schema, и в таком случае передаются пустые строки. В аргументах catalog и table можно задавать шаблоны имен таблиц. При этом можно использовать групповые символы % и _. Аргумент types задает следующие строки: ALIAS,
GLOBAL TEMPORARY, LOCAL TEMPORARY, SYNONYM, SYSTEM TABLE, TABLE и VIEW.
Результирующий набор содержит следующие столбцы: TABLE_CAT, TABLE_SCHEM,
TABLE_NAME, TABLE_TYPE и REMARKS.
17.6. СУБД Oracle
СУБД Oracle является одной из наиболее популярных реляционных СУБД в мире. Она представляет собой промышленную СУБД, которой отдается предпочтение в больших корпорациях, использующих базы данных повышенной сложности. Администраторов базы данных Oracle мало, и все они требуют высоких заработных плат. Полное объяснение механизма работы СУБД Oracle выходит за рамки этой книги. К счастью, можно найти множество книг, посвященных СУБД Oracle, или воспользоваться общедоступной информацией, размещенной на Web-узле Oracle по адресу <http://otn.oracle.com/documentation/oracle9i.html>.
PHP поддерживает два поколения библиотек Oracle - Version 7 и Version 8. Функции, работающие с версией 7, имеют префикс ora_, например ora_logon. Функции, рабо­тающие с Oracle 8, начинаются с oci, например ocilogon. Библиотека Oracle 8 под­держивает работу с более старыми базами данных. В предыдущих изданиях данной книги я включил описания более старых функций, но прошло уже много лет, поэтому маловероятно, чтобы современные разработчики пользовались старыми библиотеками.
В создании расширения, работающего с Oracle 7, принимали участие следующие разработчики: Тис Арнтцен (Thies Arntzen), Стиг Баккен (Stig Bakken), Митч Голден (Mitch Golden), Андреас Караджаннис (Andreas Karajannis) и Расмус Лердорф (Rasmus Lerdorf). Поддержку Oracle 8 в PHP добавили Тис Арнтцен (Thies Arntzen) и Стиг Баккен (Stig Bakken).
СУБД Oracle обеспечивает возможность установки тестовой базы данных. Регист­рироваться в ней необходимо как пользователю scott с паролем tiger. Примеры, приведенные в этой главе, пользуются этой любезно предоставленной разработчиками СУБД возможностью.