Sie können das native SQL des Datenbankmanagementsystems verwenden, um Daten aus den Tabellen und Feature-Classes (im weiteren Verlauf zusammengefasst unter dem Begriff Datasets) in einer Enterprise-Geodatabase zu lesen. Außerdem können Sie mithilfe von SQL Werte in einfache Datasets, die in der Enterprise-Geodatabase gespeichert sind, einfügen, daraus entfernen oder aktualisieren.
Wenn Sie SQL für ein Geodatabase-Dataset ausführen, fragen Sie die Daten aus der Basis- oder Businesstabelle ab. Wenn das Dataset, das Sie abfragen, die folgenden Kriterien erfüllt, genügt eine Abfrage der Basistabelle, um die Daten anzuzeigen, und Sie können mithilfe von SQL Daten in der Basistabelle aktualisieren, Datensätze in die Basistabelle einfügen oder Datensätze daraus löschen:
- Das Dataset ist in keine Geodatabase-Funktionen wie Annotationen, Replikationen, Netzwerken, Parcel-Fabrics, Beziehungsklassen, Schematic-Datasets, Subtypes, Domänen, Terrains oder Topologien eingebunden.
- Das Dataset ist nicht als "versioniert" registriert.
- Für das Dataset wurde keine Archivierung aktiviert.
- Das Dataset enthält keine Spalte vom Typ binäre Geometriedaten oder ArcSDE-XML-Daten.
In den folgenden Abschnitten wird beschrieben, wie Sie vorgehen müssen, wenn das Dataset diese Kriterien nicht erfüllt.
Das Dataset ist in Geodatabase-Funktionen eingebunden
Wenn die Daten, auf die Sie zugreifen möchten, in Geodatabase-Funktionen eingebunden sind, müssen Sie die erforderlichen verknüpften Tabellen in Ihre Abfrage einbeziehen und mithilfe der richtigen Spalten verbinden, damit die gewünschten Informationen in den verknüpften Tabellen angezeigt werden.
Mit der Funktion Is_Simple können Sie ermitteln, ob das Dataset in bestimmten Geodatabase-Funktionen eingebunden ist. Wenn mit "Is_Simple" der Wert False zurückgegeben wird, können Sie SQL-SELECT-Anweisungen für das Dataset ausführen. Bearbeiten Sie das Dataset jedoch nicht mit SQL.
Das Dataset ist als versioniert registriert
Wenn das Dataset für die Verwendung mit traditioneller Versionierung registriert ist, können Sie es mit einer versionierten Sicht abfragen und die Daten in der Basis-, Adds- sowie Deletes-Tabelle anzeigen, ohne komplexe Verknüpfungsanweisungen schreiben zu müssen. Es wird eine versionierte Sicht erstellt, wenn Sie das Dataset als versioniert registrieren.
Wenn Sie ein traditionell versioniertes Dataset mit SQL bearbeiten möchten, müssen Sie dazu eine versionierte Sicht verwenden. Auf diese Weise werden die Änderungen in die Adds- und Deletes-Tabelle geschrieben und das ObjectID-Feld ausgefüllt, wenn die Datensätze eingefügt werden.
Mit der Funktion Is_Versioned können Sie ermitteln, ob das Dataset für die traditionelle Versionierung registriert ist. Wenn dies der Fall ist, können Sie mit der Funktion Version_View_Name den Namen der versionierten Sicht bestimmen.
Wenn Ihre Daten für die Verwendung der Verzweigungsversionierung registriert wurden, dürfen Sie sie nicht mit SQL bearbeiten.
Das Dataset ist nicht als versioniert registriert, die Archivierung wurde jedoch dafür aktiviert
Ist das Dataset nicht für die traditionelle Versionierung registriert, dafür jedoch die Archivierung aktiviert, wird bei der Aktivierung der Archivierung eine Archivansicht erstellt.
Wenn Sie ein nicht versioniertes Dataset mit aktivierter Archivierung mit SQL bearbeiten möchten, müssen Sie dazu die Archivansicht verwenden. Dabei werden die Felder, mit denen die Aktualisierung eines Features oder Datensatzes nachverfolgt wird, und das Objekt-ID-Feld automatisch aktualisiert.
Wenn die Funktion "Is_Versioned" den Wert False zurückgibt und Sie wissen, dass das Dataset nicht für die Verzweigungsversionierung registriert ist, können Sie über die Funktion Is_Archive_Enabled ermitteln, ob die Archivierung für das Dataset aktiviert ist. Ermitteln Sie bei aktivierter Archivierung mit der Funktion Archive_View_Name den Namen der Archivansicht, die die Bearbeitung des Datasets mit SQL ermöglicht.
Das Dataset enthält eine Spalte für binäre Geometrie oder eine ArcSDE-XML-Spalte
Wenn die Daten, auf die Sie zugreifen möchten, einen binären Geometriespeicher oder ArcSDE XML verwenden, müssen Sie die erforderlichen verknüpften Tabellen in Ihre Abfrage einbeziehen und mithilfe der richtigen Spalten verbinden, damit die gewünschten Informationen in den verknüpften Tabellen abgefragt werden.
Verwenden Sie SQL nicht, um Datasets zu bearbeiten, die Spalten vom Typ binäre Geometriespeicherdaten oder ArcSDE-XML-Daten enthalten.