Einfügen eines Features in eine Tabelle

Beschreibung

Fügt einen oder mehrere Datensätze in eine Tabelle ein. Der Textkörper der Anforderung enthält die JSON-Darstellung der Feature-Sammlung, auch wenn bestimmte Elemente nicht angegeben werden müssen. Jedes dieser Features enthält null oder mehr Spaltenwerte. Wenn eine Spalte nicht angegeben ist, wird ein Nullwert eingefügt. Ein Spaltenwert muss angegeben sein, wenn er Teil eines Primärschlüssels ist, dessen Werte nicht von der Datenbank verarbeitet werden (sondern über eine automatisch erhöhte Einschränkung oder Folge). Untersuchen Sie die Schlüsseldefinition in der Antwort „describeTable“, um den Primärschlüssel zu bestimmen. Die Antwort enthält die Primärschlüssel der Features, die erfolgreich eingefügt wurden.

Die JSON-Textkörperdarstellung ist im GeoJSON-Format. Weitere Informationen über GeoJSON finden Sie unter geojson.org/geojson-spec.html.

Anmerkung: Sie müssen über Berechtigungen zum Anzeigen für die benannte Tabelle verfügen und über Berechtigungen zum Erstellen/Ändern/Löschen für das zur benannten Tabelle gehörende Dataset, um Einfügungs-, Aktualisierungs- und Löschvorgänge für beschreibbare Tabellen durchführen zu können. Weitere Informationen finden Sie unter Zugriffssteuerung für Datasets im Abschnitt „Verwaltung“.
Anmerkung: Einfügen wird in Tabellen von PostGreSQL/PostGIS, Oracle, SQL Server, SAP HANA, GeoPackage und generischem JDBC unterstützt. Es wird auch bei MapInfo Native TAB- und Native Extended TAB-Dateien (NativeX) in Windows-Betriebssystemen unterstützt. Die Tabelle muss über einen Primärschlüssel verfügen. Andernfalls wird sie als schreibgeschützte Tabelle betrachtet. Benannte Tabellen mit zusammengesetzten Primärschlüsseln sind nicht beschreibbar.

ACL-Autorisierungsfluss

Um einen oder mehrere Datensätze in eine benannte Tabelle einfügen zu können, benötigt der Benutzer (oder alle Rollen, zu denen er gehört) wie folgt Ausführungs- und Erstellungsberechtigungen für die benannte Tabelle:

  • „EXECUTE“ für den Entitätstyp „Location Intelligence.Named Resources“
  • bzw. „CREATE“ für den Entitätstyp „Location Intelligence.Dataset.DML“

URL-Format von HTTP-POST-Anforderungen

Für HTTP-POST-Anforderungen wird das folgende Format verwendet:


HTTP POST:  /tables/tablename/features.rep?
POST Data: action=insert&[commitInterval=c]
POST BODY: Content-Type:application/json {table insert}
			

table insert ist ein POST-JSON-Textkörper (Content-Type: application/json) für das Einfügen der Tabelle, der mindestens ein einzufügendes Feature enthält.

Parameter

Weitere Informationen zu den unten aufgeführten Parametertypen finden Sie unter URL-Anforderungsdatentypen.

Parameter Typ Erforderlich Beschreibung
tablename Zeichenfolge ja Der Name der Tabelle, in die Features eingefügt werden sollen. Die Tabelle wird durch einen vollständig qualifizierten Namen für die benannte Tabelle angegeben, der auf dem Speicherort der benannten Tabelle in der Datenbank basiert. Der Name der benannten Tabelle wird zwischen dem „/tables“-Teil der URL und dem „/features.rep“-Teil der URL definiert. Zum Einfügen eines Features in einer benannten Tabelle, die sich unter „/Samples/NamedTables/WorldTable“ in der Datenbank befindet, würde beispielsweise folgende URL verwendet:
.../FeatureService/tables/Samples/​NamedTables
/WorldTable/features.json;... 
rep Zeichenfolge ja Die zurückzugebende Darstellung. Die unterstützte Darstellung ist JSON.
action=insert Zeichenfolge ja Die Aktion zum Einfügen der Features in die Tabelle.
commitInterval=c Ganze Zahl no Die Anzahl der Einfügevorgänge, die in einer Transaktion verarbeitet werden. Wenn Sie etwa 50 Features in eine Tabelle einfügen und „commitInterval“ auf 20 gesetzt ist, führt dies zu drei Transaktionen (20, 20, 10). Der Standardwert ist 50. Das Übergabeintervall wird bei Native TAB- und NativeX-Dateien ignoriert.

Gibt zurück:

Gibt den Primärschlüssel der einzelnen Features in die Tabelle zurück. Bei Native und NativeX TAB-Dateien wird stattdessen eine SuccessfulInserts-Antwort zurückgegeben, die die Anzahl der erfolgreich eingefügten Zeilen anzeigt.

Beispiel

Fügt zwei neue Features zu „MyTable“ hinzu, die Punkte in der Geometriespalte enthalten: die Werte 456 und 123 in „Column1“ und die Werte „vier fünf sechs“ und „eins zwei drei“ in „Column2“.


http://www.pbbi.com/rest/Spatial/FeatureService/tables/MyTable/features.json
?action=insert&commitInterval=1
{
    "type": "FeatureCollection",
    "features": [
    {
        "type": "Feature",
        "geometry": {
            "type": "Point",
            "coordinates": [-73, 41]
        },
        "properties": {
            "Column1": 456,
			"Column2": "four five six"
        }
    },
    {
        "type": "Feature",
        "geometry": {
            "type": "Point",
            "coordinates": [-72, 42]
        },
        "properties": {
            "Column1": 123,
			"Column2": "one two three"
        }
    }]
}