Mithilfe von SQL können Sie Daten in der Geodatabase aktualisieren, Daten in die Geodatabase einfügen und Daten aus nicht versionierten Tabellen daraus löschen, falls diese nicht an Geodatabase-Verhalten beteiligt sind. Unter Welcher Datentyp kann mit SQL bearbeitet werden? finden Sie weitere Informationen zu den Datentypen und zum Geodatabase-Verhalten, die nicht mit SQL bearbeitet werden können.
Alle Daten, die unter der Geodatabase registriert sind, verfügen über ein vom System verwaltetes, eindeutiges ObjectID-Feld (Zeilen-ID), das nicht null ist. Wenn Sie SQL zum Einfügen von Datensätzen in nicht versionierte Tabellen in der Geodatabase verwenden, müssen Sie für die ObjectID einen Einzelwert eingeben. Führen Sie die Prozedur "Next_RowID" aus, um den nächsten verfügbaren ObjectID-Wert abzurufen. Verwenden Sie anschließend diesen Wert in der INSERT-Anweisung, um das ObjectID-Feld für den Datensatz auszufüllen.
In diesen Anweisungen werden die zeilenweise Aktualisierung in einer nicht versionierten Tabelle und das Einfügen einer ObjectID beschrieben. In der Regel schreiben Sie eine Routine oder ein Client-Programm, um ObjectIDs abzurufen und die Daten zu aktualisieren.
- Melden Sie sich bei einem SQL-Editor an, z. B. beim Editor in Microsoft SQL Server Management Studio.
Melden Sie sich bei der Datenbank als Benutzer an, der über die Berechtigung zum Bearbeiten der Daten verfügt.
- Führen Sie die gespeicherte Prozedur "Next_RowID" aus, um einen Wert für das ObjectID-Feld abzurufen.
In diesem Beispiel ist die Tabelle "farmland" im Schema "gisdata4" gespeichert.
DECLARE @id as integer EXEC dbo.next_rowid 'gisdata4', 'farmland', @id OUTPUT; SELECT @id "Next ObjectID"; Next ObjectID 423
- Verwenden Sie den Wert, der von der vorherigen Anweisung zurückgegeben wurde, um das ObjectID-Feld für den einzufügenden Datensatz auszufüllen.
INSERT INTO gisdata4.farmland (objectid,crop,shape) VALUES ( 423, 'oats', geography::STGeomFromText('POLYGON((-111.85897004 33.25178949, -111.86899617 33.25065270, -111.86887014 33.25062350, -111.85884555 33.25176951, -111.85897004 33.25178949))', 4267) );
- Sie können mit der Bearbeitung fortfahren oder die Änderungen in die Datenbank übernehmen, wenn Sie die Bearbeitung beendet haben.
Wenn die Tabelle auch eine GUID oder ein Feld "Globale ID" enthält, müssen Sie für dieses Feld ebenfalls einen Einzelwert angeben. Weitere Informationen finden Sie unter Einfügen eines Wertes in eine Global ID-Spalte in SQL Server mit SQL.