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.

Remarque : Vous devez disposer de droits d’affichage sur la table nommée ainsi que de droits de création/modification/suppression sur le jeu de données associé de la table nommée pour effectuer des opérations d'insertion, de mise à jour et de suppression sur des tables accessibles en écriture. Pour plus d'informations, reportez-vous à Contrôle d’accès pour les jeux de données dans la section Administration.
Remarque : L'insertion est prise en charge dans les tables PostGreSQL/PostGIS, Oracle, SQL Server, SAP HANA, GeoPackage et JDBC génériques. La table doit comporter une clé primaire, sinon elle sera considérée comme une table en lecture seule. Les tables nommées avec des clés primaires composites ne sont pas accessibles en écriture.

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 Requis 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.

Résultat

Renvoie la clé primaire de chaque fonction ajoutée à la table.

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"
        }
    }]
}