Получить информацию о табличных объектах БД
Назначение
Метод SQLTables
предоставляет информацию о табличных объектах БД.
Синтаксис
value {< объект Connect > | < объект Cursor >}.SQLTables(UserName, TableName, TableType)
-
UserName
-
Шаблон имени владельцев объектов. Шаблон может содержать спецсимволы _ и % (см. документ «CУБД ЛИНТЕР. Справочник по SQL», конструкция «Предикат подобия»).
-
TableName
-
Шаблон имени искомых объектов.
-
TableType
-
Символьная строка, содержащая список типов искомых объектов (объекты поиска перечисляются через запятую):
-
TABLE
– пользовательская таблица; -
SYSTEM TABLE
– системная таблица; -
VIEW
– представление; -
SYNONIM
– синоним таблиц.
-
Возвращаемое значение
Объект Connection
(Cursor
). Результат можно получить с помощью функций SQLFetchRow
, SQLFetchHash
, SQLFetchManyRow
, SQLFetchManyHash
.
Структура возвращаемой записи:
Столбец записи | Описание | |
---|---|---|
TABLE_TYPE | Тип объекта, char(66) | |
REMARKS | Комментарий к объекту (при его наличии в таблице $$$COMMENTS БД) | |
TABLE_CAT | Пробелы, char(66) | |
TABLE_SCHEM | Схема объекта (имя владельца объекта), char(66) | |
TABLE_NAME | Имя объекта, char(66) |
Пример
require "LinRuby" begin connect = LinterConnection.Create() connect.Open("SYSTEM", "MANAGER8", nil, M_EXCLUSIVE | Q_866) puts "connection to RDBMS Linter is successed" connect.SQLTables('SYS%', '$$$%', 'VIEW, TABLE, SYSTEM TABLE') i = 1 while ( i < = connect.GetRowCount ) hash = connect.SQLFetchHash(FETCH_ABSNUM, i) j = 0 while ( j < hash.keys.size ) puts "#{hash.keys[j]} = #{hash.values[j]}" j = j +1 end i = i + 1 end rescue = > error puts error ensure if connect != nil connect.Close() end end
См. также пример demo21.rb
в подкаталоге samples\ruby
установочного каталога СУБД ЛИНТЕР.