バージョン対応ビューに対して SQL SELECT ステートメントを実行することで、バージョン対応登録されたデータにアクセスできます。
DEFAULT バージョンから読み取る
DEFAULT バージョンに対して SQL ステートメントを実行する場合には、最新のステートを読み取るか、指定したステートを読み取るかを選択できます。
DEFAULT バージョンの最新のステートを読み取る
バージョン対応ビューは、DEFAULT バージョンの最新のステートに自動的にアクセスします。バージョン対応ビューに対して SELECT ステートメントを実行すると、その実行時点での DEFAULT バージョンのステートにアクセスします。他のユーザーが編集データを DEFAULT バージョンにコミットしている場合 (これによって、DEFAULT バージョンが参照しているステートが変更されている場合)、それ以降のクエリには最新のステートとその編集データが表示されます。
DEFAULT バージョンの特定のステートを読み取る
DEFAULT バージョンの特定のステートに対するクエリで、そのクエリの実行中にステートが変更されないようにするには、setcurrentversion ストアド プロシージャを実行します。このプロシージャは、指定されたバージョン名を検証して、該当するデータベースのステートを内部的に設定します。DEFAULT バージョンに対して setcurrentversion ストアド プロシージャを実行すると、DEFAULT バージョンに対するクエリは、そのストアド プロシージャを実行した時点で DEFAULT バージョンが参照していたステートを常に指すようになります。
setcurrentversion は、SQL クライアントから実行できます。構文は次のとおりです。
CALL sde.setcurrentversion('<version_name>',?,?)
必要に応じて、このストアド プロシージャをもう一度実行すると、バージョン対応登録されたテーブルの最新のステートが返されます。
- アクセスするバージョン対応登録されたフィーチャクラスまたはテーブルに対して、バージョン対応ビューが存在することを確認します。
ArcGIS 10.1 からは、バージョン対応ビューはデータをバージョン対応登録するときに作成されます。データが 10.1 より前にバージョン対応登録されていた場合に、バージョン対応ビューを作成するには、ArcMap の [カタログ] ツリーのデータセットを右クリックし、[管理] をクリックして [SQL アクセスを有効化] をクリックします。
- SQL クライアントを開き、setcurrentversion ストアド プロシージャを呼び出して、バージョンを DEFAULT に設定します。
CALL sde.setcurrentversion('DEFAULT',?,?)
疑問符は、メッセージ コード出力とメッセージ出力を示しています。メッセージ コード出力とメッセージ出力は、プロシージャを実行すると返される SQL コードとメッセージです。疑問符を指定すると、コードとメッセージが返されます。
- バージョン対応ビューに対して SELECT ステートメントを発行して、ジオデータベースからバージョン対応登録されたデータを読み取ります。
次の例では、バージョン対応ビューは sightings_ev です。
SELECT ID, SPECIES, REPORTER FROM SIGHTINGS_EV WHERE REPORTER = 'chuck'
DEFAULT 以外のバージョンを読み取る
setcurrentversion ストアド プロシージャでは、DEFAULT 以外のバージョンに対してクエリを実行することもできます。このプロシージャは、指定されたバージョン名を検証して、該当するバージョンのステートを内部的に設定します。バージョンに対するクエリは、setcurrentversion ストアド プロシージャを実行した時点でそのバージョンが参照していたステートを常に指すようになります。
必要に応じてこのプロシージャを再度呼び出して別のバージョンに変更することもできます。また、ワークスペースが更新されるたびにアプリケーションから呼び出して、バージョン対応登録されたテーブルが参照しているステートを取得することもできます。
setcurrentversion ストアド プロシージャで DEFAULT 以外の特定のバージョンに対してクエリを実行する手順を次に示します。
- アクセスするバージョン対応登録されたフィーチャクラスまたはテーブルに対して、バージョン対応ビューが存在することを確認します。
テーブル、フィーチャクラス、またはフィーチャ データセットをバージョン対応登録すると、バージョン対応ビューが作成されます。データが ArcGIS 10.1 より前にバージョン対応登録されている場合でも、データセットを右クリックし、[管理] をクリックして [SQL アクセスを有効化] をクリックすることで、バージョン対応ビューを作成できます。
- SQL クライアントを開き、setcurrentversion ストアド プロシージャを呼び出して、クエリするバージョンを設定します。
次の例では、クエリ対象のバージョンとして field_inspections が設定されています。
CALL sde.setcurrentversion('FIELD_INSPECTIONS',?,?)
疑問符は、メッセージ コード出力とメッセージ出力を示しています。メッセージ コード出力とメッセージ出力は、プロシージャを実行すると返される SQL コードとメッセージです。疑問符を指定すると、コードとメッセージが返されます。
- バージョン対応ビューに対して SELECT ステートメントを発行して、ジオデータベースからバージョン対応登録されたデータを読み取ります。
次の例では、バージョン対応ビューは code_ev です。
SELECT owner, site_address, region FROM code_ev WHERE region = 'b'
DEFAULT バージョンの最新のステートに対するクエリ手順に戻す必要がある場合は、set_default プロシージャを実行します。
CALL sde.set_default;