Чтение версионных данных в Informix с использованием версионных представлений.

Для доступа к версионным данным можно выполнять запросы SQL SELECT к версионным представлениям.

Версионные представления автоматически получают доступ к текущему состоянию версии DEFAULT. Если вы выполняете запросы SELECT к версионному представлению, оно будет обращаться к текущему состоянию DEFAULT. Если другие пользователи вносят изменения в версию DEFAULT, тем самым изменяя состояние, на которое ссылается версия DEFAULT, последующие запросы будут адресованы к последнему по времени состоянию и соответствующим изменениям.

Если вы хотите выполнить запрос к другой версии, отличной от DEFAULT, или не хотите, чтобы ваши запросы меняли состояние DEFAULT, выполните функцию set_current_version. Эта функция проверяет имя версии и задает соответствующее состояние непосредственно в базе данных. Запросы к версии всегда указывают на состояние соответствующей версии, полученное при выполнении функции set_current_version.

Функцию set_current_version можно выполнить непосредственно из клиента SQL. Синтаксис выглядит так:

EXECUTE FUNCTION sde.set_current_version('<version_name>')

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

Шаги:
  1. Убедитесь, что для версионного класса объектов или таблицы, к которой вы обращаетесь, имеется версионное представление.

    Начиная с ArcGIS 10.1, версионные представления создаются автоматически для всех версионных данных. Если данные зарегистрированы как версионные в более ранней версии, чем 10.1, можно создать версионное представление с помощью инструмента геообработки Создать версионное представление (Create Versioned View).

  2. Откройте клиент SQL и выполните функцию set_current_version, чтобы задать версию, к которой будет создаваться запрос.

    В этом примере, для запросов выбирается версия version2.

    EXECUTE FUNCTION sde.set_current_version('version2')
    
  3. Выполнение выражения SELECT к версионному представлению для чтения версионных данных из базы геоданных.

Если необходимо вернуть в запрос текущее состояние версии DEFAULT, выполните функцию set_default.

EXECUTE FUNCTION sde.set_default;
Затем можно выполнить выражения SELECT над версионными представлениями, тогда запросы получат последнее состояние версии DEFAULT.

Связанные темы

9/11/2013