バージョン対応ビューによる DB2 のバージョン対応登録されたデータの読み取り

バージョン対応ビューに対して SQL SELECT ステートメントを実行することで、バージョン対応登録されたデータにアクセスできます。

注意注意:

バージョン対応ビューは、z オペレーティング システムの IBM DB2 データベースではサポートされていません。

バージョン対応ビューは、DEFAULT バージョンが参照しているステートに自動的にアクセスします。バージョン対応ビューに対して SELECT ステートメントを実行すると、DEFAULT バージョンが参照しているステートにアクセスします。他のユーザが編集データを DEFAULT バージョンにコミットしている場合(そのため、DEFAULT バージョンが参照するステートが変化している場合)、その後のクエリには最新のステートおよびステートの編集データが表示されます。

DEFAULT バージョン以外のバージョンをクエリする場合や、DEFAULT バージョンに対するクエリのステートを変化させたくない場合は、setcurrentversion ストアド プロシージャを実行します。このプロシージャは指定されたバージョン名を検証して、該当するデータベースのステートを内部的に設定します。setcurrentversion ストアド プロシージャを実行すると、バージョンに対して行われるクエリは、常にバージョンが参照していたステートを指すようになります。

setcurrentversion は SQL クライアントから直接実行できます。構文は次のとおりです。

CALL sde.setcurrentversion('<version_name>',?,?)

必要に応じてこのプロシージャを再度呼び出して別のバージョンに変更することもできます。また、ワークスペースが更新されるたびにアプリケーションから呼び出して、バージョン対応登録されたテーブルが参照しているステートを取得することもできます。

次は、setcurrentversion を実行してバージョンをクエリする手順を示したものです。

手順:
  1. アクセスするバージョン対応登録されたフィーチャクラスまたはテーブルに対して、バージョン対応ビューが存在することを確認します。

    ArcGIS 10.1 からは、バージョン対応ビューはデータをバージョン対応登録するときに作成されます。10.1 より前のバージョンでバージョン対応登録されたデータは、[バージョン対応ビューの作成(Create Versioned View)] ジオプロセシング ツールを実行して、バージョン対応ビューを作成できます。

  2. SQL クライアントを開き、setcurrentversion ストアド プロシージャを呼び出して、クエリするバージョンを設定します。

    この例では、クエリするバージョンとして version2 が設定されています。

    CALL sde.setcurrentversion('version2',?,?)
    

    疑問符は、メッセージ コード出力とメッセージ出力を示しています。メッセージ コード出力とメッセージ出力は、プロシージャを実行すると返される SQL コードとメッセージです。疑問符を指定すると、コードとメッセージが返されます。

  3. バージョン対応ビューに対して SELECT ステートメントを発行して、ジオデータベースからバージョン対応登録されたデータを読み取ります。

    この例では、バージョン対応ビューは code_mv です。

    SELECT owner, site_address, region
    FROM code_mv
    WHERE region = 'b'
    

DEFAULT バージョンが参照しているステートをクエリするように戻す必要がある場合は、set_default プロシージャを実行します。

CALL sde.set_default;
その後、バージョン対応ビューに対して SELECT ステートメントを実行すると、クエリには DEFAULT バージョンの最新のステートが表示されます。

関連トピック

9/14/2013