CHECK_TABLE

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

Поддерживается в версиях:  6.6 / 6.5 / 6.4 / 6.3 / 6.2 / 6.1 / 6.0 / 5.8 / 5.7 / 5.6 / 5.5 / 5.4 / 5.3 / 5.2 / 5.1 / 5.0.

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

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

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

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

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

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

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

Результаты, возвращаемые в ответе, включают сообщение об успешной проверке или найденных расхождениях, а также список проверенных датасорсов. Примеры ответов см. в секциях Ответ при успешной проверке и Ответ при наличии расхождений.

Синтаксис

CHECK_TABLE([db_name.]table_name)

Параметры:

db_name

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

table_name

Имя проверяемой таблицы: логической таблицы или прокси-таблицы.

Примеры

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

CHECK_TABLE(marketing.sales)

Проверка прокси-таблицы payments_proxy:

CHECK_TABLE(marketing.payments_proxy)

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

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

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

Ответ CHECK_TABLE с проверкой в одном датасорсе

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

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

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

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

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