Insérer une fonction dans une table
Description
Insère un ou plusieurs enregistrements à une table. Le corps de la réponse contient la représentation JSON de la collection de fonctions, même s'il n'est pas nécessaire de préciser certains éléments. Chacune de ces fonctions contient zéro, une ou plusieurs valeurs de colonne. Si une colonne n'est pas spécifiée, une valeur nulle sera insérée. Une valeur de colonne doit être précisée si elle fait partie d'une clé primaire dont la valeur n'est pas gérée par la base de données (c'est-à-dire, via une séquence ou une contrainte d'incrément automatique). Pour déterminer la clé primaire, examinez la définition de clé de la réponse describeTable. La réponse contient les clés primaires des fonctions qui ont été correctement insérées.
La représentation JSON du corps est au format GeoJSON. Pour plus d’informations sur GeoJSON, reportez-vous à geojson.org/geojson-spec.html.
Flux d'autorisation ACL
Pour pouvoir insérer un ou plusieurs enregistrements dans une table nommée, l'utilisateur (ou les rôles auxquels il appartient) aura besoin des autorisations Execute et Create sur la table nommée de la manière suivante :
- « EXECUTE » pour le type d'entité « Location Intelligence.Named Resources »
- « CREATE » pour le type d'entité « Location Intelligence.Dataset.DML », respectivement
Format d'URL POST HTTP
Les requêtes POST HTTP se présentent au format suivant :
HTTP POST: /tables/tablename/features.rep?
POST Data: action=insert&[commitInterval=c]
POST BODY: Content-Type:application/json {table insert}
Le paramètre table insert est un corps POST json (type de contenu : application/json) de l'insert de table contenant une ou plusieurs fonctions à insérer.
Paramètres
Pour plus d'informations sur les types de paramètres répertoriés ci-dessous, reportez-vous à la section Types de données d'URL de requête.
Paramètre | Type | Obligatoire | Description |
---|---|---|---|
tablename | Chaîne | oui | Nom de la table où insérer les fonctions. La table est définie par un nom entièrement qualifié pour la table nommée basé sur l'emplacement de la table nommée dans le référentiel. Le nom de la table nommée est défini entre la portion /tables de l'URL et la portion /features.rep de l'URL. Par exemple, pour insérer une fonction à une table nommée se trouvant dans le répertoire /Samples/NamedTables/WorldTable du référentiel, l'URL suivante est utilisée :.../FeatureService/tables/Samples/NamedTables /WorldTable/features.json;... |
rep | Chaîne | oui | Représentation à renvoyer. La représentation prise en charge est json. |
action=insert | Chaîne | oui | Action d'insertion des fonctions à la table. |
commitInterval=c | Entier | non | Nombre d'inserts à traiter dans une transaction. Par exemple, si vous insérez 50 fonctions dans une table et que commitInterval est défini sur 20, vous obtenez trois transactions (20, 20, 10). La valeur par défaut est 50. CommitInterval est ignoré pour les fichiers native TAB et NativeX. |
Résultat
Renvoie la clé primaire de chaque fonction ajoutée à la table. Pour les fichiers native et NativeX TAB, une réponse SuccessfulInserts
est renvoyée à la place, indiquant le nombre de lignes correctement insérées.
Exemple
Ajoute deux nouvelles fonctions à MyTable (table nommée PostGIS) constituées de points dans la colonne Géométrie, des valeurs 456 et 123 dans Column1 et des valeurs « four five six » et « one two three » dans 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"
}
}]
}