Einfügen von Features mit SQL

Beschreibung

Fügt Features in eine Tabelle ein, indem über eine MI SQL Insert-Befehlszeichenfolge eine Abfrage an eine Tabelle durchgeführt wird. Ausführliche Informationen zu MapInfo SQL-Funktionen finden Sie in der MapInfo SQL Language-Referenz.

Die JSON-Textkörperdarstellung der Geometrien 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 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. Benannte Tabellen mit zusammengesetzten Primärschlüsseln sind nicht beschreibbar.

ACL-Autorisierungsfluss

Um Features in eine benannte Tabelle einzufügen, indem eine Abfrage für eine Tabelle mit einer MI SQL-Insert-Befehlszeichenfolge ausgeführt wird, 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“ für den Benutzer
  • 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:  /FeatureService/tables/features.rep?
POST Data: [insert=MI SQL query]
POST BODY: Content-Type:application/json {bound parameters}
			

{gebundene Parameter} ist ein POST-JSON-Textkörper (Content-Type: application/json) für die MI SQL-Einfügeabfrage, der mindestens einen einzuschließenden Parameter enthält. Nullwerte werden unterstützt; es ist jedoch weiterhin ein Typ erforderlich.

Anmerkung: Das JSON in der POST-Anforderung ist optional; es ist nur erforderlich, wenn in der SQL-Abfrage gebundene Parameter verwendet werden.

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

Parameter Typ Erforderlich Beschreibung
rep Zeichenfolge ja Die zurückzugebende Darstellung. Die unterstützte Darstellung ist JSON.
insert = MI SQL-Abfrage Zeichenfolge ja Die durchzuführende Einfügeabfrage, im MI SQL-Format.

Gibt zurück:

Gibt die Anzahl der erfolgreich eingefügten Features in einer benannten Tabelle in der Datenbank zurück. Bei Native und NativeX TAB-Dateien wird stattdessen eine SuccessfulInserts-Antwort zurückgegeben, die die Anzahl der erfolgreich eingefügten Zeilen anzeigt.

Beispiele

Fügt Features aus „MyTable“ mithilfe eines gebundenen Parameters ein:


http://<hostname>:<port>/rest/Spatial/FeatureService/tables/features.json?
insert= INSERT INTO “/WORLDTABLE”(MI_PRINX, COUNTRY, CAPITAL, CONTINENT, OBJ) 
VALUES (257,'Bahrain', 'Manama', 'Asia', @geomParam) 
{
     "parameters": [{
           "name": "geomParam",
           "value": {
                 "type": "Point",
                 "coordinates": [-72, 42],
                 "crs": {
                       "type": "name",
                       "properties": {
                             "name": "epsg:4269"
                       }
                 }
           }
     }]
}