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. Mit der gespeicherten Prozedur "Next_RowID" können Sie mithilfe von SQL einen Wert in das ObjectID-Feld einfügen.
Verwenden Sie die Funktion "Next_RowID" aus dem Paket "sde.gdb_util", um einen neuen Einzelwert für die ObjectID zu erstellen.
Bei der Funktion "Next_RowID" kommen zwei Parameter zum Einsatz: Eigentümer der Tabelle und Tabellenname. Mit dem Eigentümer der Tabelle und dem Tabellennamen kann eine SQL-Anweisung zum Ausfüllen des ObjectID-Feldes erstellt werden.
- Melden Sie sich über einen SQL-Editor, z. B. SQL*Plus, bei der Datenbank an.
Melden Sie sich bei der Datenbank als Benutzer an, der über die Berechtigung zum Bearbeiten der Daten verfügt.
- Beziehen Sie die Funktion "sde.gdb_util.next_rowid" mit dem Eigentümer der Tabelle und dem Tabellennamen in die INSERT-Anweisung ein, um den nächsten verfügbaren Wert in das ObjectID-Feld einzufügen.
In diesem Beispiel wird ein ST_Geometry-Liniensegment in die STREAMS-Feature-Class eingefügt.
INSERT INTO eng2.streams (OBJECTID,NAME,SHAPE) VALUES ( sde.gdb_util.next_rowid('ENG2', 'STREAMS'), 'TRANQUIL', sde.ST_GEOMETRY('linestring (750 150, 750 750)', 4326) );
- 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 "Global ID" enthält, müssen Sie für dieses Feld ebenfalls einen Einzelwert angeben. Weitere Informationen finden Sie unter Next_GloablID.