CHECK_TABLE

Содержание раздела
  1. Синтаксис
  2. Параметры
  3. Примеры
    1. Ответ при успешной проверке
    2. Ответ при наличии расхождений

Запрос позволяет проверить соответствие логической таблицы и ее физических представлений — физических таблиц в хранилище данных.

В проверке участвуют указанная логическая таблица и все связанные с ней физические таблицы. Если СУБД хранилища не хранит данные логической таблицы, и, следовательно, не содержит связанные физические таблицы, она пропускается при проверке.

Проверяется соответствие следующих элементов:

  • имен и порядка следования столбцов,
  • типов данных столбцов,
  • первичного ключа.

Имена и порядок следования проверяются для всех столбцов логической и физических таблиц, включая служебные столбцы, имеющиеся только у физических таблиц. Например, если служебный столбец sys_to удален из физической таблицы, в ответе вернется сообщение о расхождении.

В ответе возвращается:

  • объект ResultSet с одной записью, содержащей результаты проверки, при успешном выполнении запроса;
  • исключение при неуспешном выполнении запроса.

Возвращаемая информация включает сообщение об успешной проверке или найденных расхождениях, а также список проверенных СУБД хранилища. Примеры запросов и ответов см. в секции Примеры.

Синтаксис

CHECK_TABLE([db_name.]table_name)

Параметры

  • db_name — имя логической базы данных, которой принадлежит проверяемая логическая таблица. Указывается опционально, если выбрана логическая БД, используемая по умолчанию;
  • table_name — имя проверяемой логической таблицы.

Примеры

Проверка логической таблицы sales.sales:

CHECK_TABLE(sales.sales)

Ответ при успешной проверке

На рисунках ниже показаны примеры ответов в случае успешной проверки: на первом рисунке — по таблице, данные которой размещены во всех СУБД хранилища, на втором — по таблице, данные которой размещены только в ADB.

Ответ CHECK_TABLE при успешной проверке

Ответ CHECK_TABLE с проверкой только в ADB

Ответ при наличии расхождений

На рисунке ниже показан пример ответа при наличии расхождений, которые вызваны тем, что в физической таблице ADB отсутствует столбец description.

Ответ CHECK_TABLE с найденными расхождениями

На рисунке ниже показан пример ответа при наличии расхождений, которые вызваны тем, что логическая таблица, размещаемая в ADB, была логически пересоздана для ADB, ADP и ADQM. Подробнее о пересоздании логической таблицы только на логическом уровне см. в секции LOGICAL_ONLY раздела CREATE TABLE.

Ответ CHECK_TABLE с найденными расхождениями