Получить информацию о табличных объектах БД
Назначение
Метод 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 установочного каталога СУБД ЛИНТЕР.