Lesen von versionierten Daten in Oracle mit Multiversioned Views

Sie können SELECT-SQL-Anweisungen für Multiversioned Views ausführen, um auf versionierte Daten zuzugreifen.

Multiversioned Views greifen automatisch auf die DEFAULT-Version zu. Bevor Sie Abfragen für die Sicht eingeben, müssen Sie sicherstellen, dass Sie die erforderliche Version abfragen.

Um auf eine andere Version als den aktuellen Status der DEFAULT-Version zuzugreifen, führen Sie die gespeicherte ArcSDE-Prozedur "version_util.set_current_version" aus. Mit dieser Prozedur wird der angegebene Versionsname überprüft und der Datenbank-State intern festgelegt. Die Prozedur kann direkt von einem SQL-Client ausgeführt werden. Die Syntax, die für die aktuelle Version der gespeicherten Prozedur festgelegt wird, ist:

EXEC sde.version_util.set_current_version('<version_name>')

Diese Prozedur kann bei Bedarf erneut aufgerufen werden, um zu anderen Versionen zu wechseln, und sie wird jedes Mal beim Aktualisieren des Workspaces aufgerufen, um den aktuellen Zustand der versionierten Tabelle an die aufrufende Anwendung zurückzugeben.

VorsichtVorsicht:

Multiversioned Views sollten nicht zum Zugreifen auf komplexe Features oder zum Ändern von solchen verwendet werden, d. h. Features, die an geometrischen Netzwerken, Topologien, Terrains, Cadastral Fabrics, Netzwerk-Datasets oder Beziehungen beteiligt sind oder ein spezifisches Verhalten in der Geodatabase aufweisen. Zum Anzeigen und Ändern dieser Feature-Typen sollten Sie ArcGIS verwenden.

Schritte:
  1. Führen Sie an einer MS-DOS- (Windows) oder Shell-Befehlseingabeaufforderung (UNIX oder Linux) das Dienstprogramm "sdetable" aus, um eine Multiversioned View zu erstellen.
    sdetable –o create_mv_view –T code_mv –t code_enf 
    –i sde:oracle11g –u sarja –p not4U@orasvc
  2. Führen Sie an einer SQL-Eingabeaufforderung das Dienstprogramm "version_util.set_current_version" aus, um die zu bearbeitende Version festzulegen.
    EXEC sde.version_util.set_current_version('version2')
  3. Geben Sie eine SELECT-Anweisung für die Multiversioned View aus, um versionierte Daten aus der Geodatabase zu lesen.
    SELECT violationID,codenum,propowner,insp_date 
    FROM code_mv 
    WHERE zip = '99999';

Verwandte Themen


3/6/2012