マルチバージョン対応ビューによる SQL Server のバージョン対応データの読み取り
マルチバージョン対応ビューに対して SQL SELECT ステートメントを実行して、バージョン対応データにアクセスできます。
マルチバージョン対応ビューは自動的に DEFAULT バージョンにアクセスします。ビューに対してクエリを発行する前に、正しいバージョンにおいてクエリを実行しているか確認する必要があります。
特定のバージョンの特定の状態にアクセスするには、ArcSDE の set_current_version ストアド プロシージャを実行します。このプロシージャは指定されたバージョン名を検証して、該当するデータベースの状態を内部的に設定します。これは SQL クライアントから直接実行できます。sde スキーマ ジオデータベースで現在のバージョンを設定するストアド プロシージャの構文は次のとおりです。
EXEC sde.set_current_version '<version_name>'
dbo スキーマ ジオデータベースの場合、ストアド プロシージャの所有者は dbo です。そのため構文は次のようになります。
EXEC dbo.set_current_version '<version_name>'
必要に応じてこのプロシージャを再度呼び出して別のバージョンに変更することもできます。また、ワークスペースが更新されるたびにアプリケーションから呼び出して、バージョン対応テーブルの現在の状態を取得することもできます。
バージョンを DEFAULT に設定した場合、現在の状態がキャッシュされ、DEFAULT バージョンのキャッシュされた状態が参照できます。バージョンをまったく設定しなかった場合は、DEFAULT バージョンの状態が動的に返されます。そのため、DEFAULT バージョンが編集されると DEFAULT バージョンに対する変更も参照できます。
ジオメトリック ネットワークやトポロジ、テレイン、パーセル ファブリック、ネットワーク データセット、リレーションシップに関係するフィーチャ、または、特定のジオデータベースの振舞いを行うフィーチャのような複雑なフィーチャを参照または変更する場合、マルチバージョン対応ビューを使用してはいけません。このような種類のフィーチャを表示し変更するには ArcGIS を使用してください。
-
MS-DOS コマンド プロンプトで sdetable ユーティリティを実行して、マルチバージョン対応ビューを作成します。
sdetable –o create_mv_view –T code_mv –t code_enf –i sde:sqlserver:myserver\ssinst –D code –u sarja –p not4u
-
Transact SQL クエリ ウィンドウを開いて、set_current_version ストアド プロシージャを実行します。
EXEC sde.set_current_version 'version2'
注意:現在のバージョンを設定しなかった場合は、クエリするたびに DEFAULT バージョンの最新の状態が参照されます。現在のバージョンを設定した場合は、状態がキャッシュされ、指定したバージョンのビューは静的なままです。
-
マルチバージョン対応ビューに対して SELECT ステートメントを発行して、ジオデータベースからバージョン対応データを読み取ります。
SELECT owner, site_address, region FROM code_mv WHERE region = 'b'