Schémas de message pour les opérations de base d’insertion, de mise à jour, de suppression et de sélection sur des tables et des vues
L’adaptateur Microsoft BizTalk pour Oracle Database permet d’effectuer des opérations d’insertion, de mise à jour, de suppression et de sélection de base pour chaque table et vue dans la base de données Oracle. Ces opérations exécutent l’instruction SQL appropriée qualifiée par une clause WHERE. L’adaptateur Oracle Database utilise des enregistrements fortement typés et des jeux d’enregistrements dans ces opérations.
Structure de message pour les opérations de table de base
Le tableau suivant montre la structure de message XML pour les opérations de table de base exposées par l’adaptateur Oracle Database sur les tables de base de données Oracle. La table cible d’une opération est spécifiée dans l’action de message et apparaît également dans l’espace de noms cible.
Insérer
Il existe les types suivants d’opérations d’insertion. Un message ne peut contenir qu’un seul type d’opération Insérer.
- Multiple Record Insert insère le jeu d’enregistrements fourni de données fortement typées dans la table cible.
- Pour chaque enregistrement d’une insertion d’enregistrements multiples, vous pouvez spécifier la valeur d’un attribut facultatif appelé InlineValue. Si elle est spécifiée, elle remplace la valeur de l’élément.
- Bulk Insert insère le jeu d’enregistrements retourné par une requête SELECT spécifiée dans l’élément QUERY dans la table cible. Pour ce faire, utilisez la liste des colonnes séparées par des virgules spécifiée dans l’élément COLUMN_NAMES.
Message XML
Insertion d’enregistrements multiples
<Insert xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">
<RECORDSET>
<[TABLE_NAME]RECORDINSERT>
<[FIELD1_NAME InlineValue="value"]>value1</[FIELD1_NAME]>
<[FIELD2_NAME InlineValue="value"]>value2</[FIELD2_NAME]>
…
</[TABLE_NAME]RECORDINSERT>
<[TABLE_NAME]RECORDINSERT >
<[FIELD1_NAME InlineValue="value"]>value1</[FIELD1_NAME]>
<[FIELD2_NAME InlineValue="value"]>value2</[FIELD2_NAME]>
…
</[TABLE_NAME]RECORDINSERT>
…
</RECORDSET>
</Insert>
SQL exécuté par l’adaptateur : INSERT INTO TABLE_NAME (FIELD1_NAME, FIELD2_NAME, …)VALUES (value1, value2, …);
Insertion en bloc
<Insert xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">
<COLUMN_NAMES>[COLUMN_list]</COLUMN_NAMES>
<QUERY>[SELECT_query]</QUERY>
</Insert>
SQL exécuté par l’adaptateur : INSERT INTO TABLE_NAME (COLUMN_list) SELECT_query;
Insérer une réponse
Le nombre de lignes insérées est retourné dans l’élément InsertResult.
Message XML
<InsertResponse xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">
<InsertResult>[rows inserted]</InsertResult>
</InsertResponse>
Sélectionnez
Une requête SELECT est effectuée sur la table cible à l’aide de la clause WHERE spécifiée dans l’élément FILTER. Le jeu de résultats contient les colonnes de la liste séparée par des virgules des noms de colonnes spécifiés dans l’élément COLUMN_NAMES.
Message XML
<Select xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">
<COLUMN_NAMES>[COLUMN_list]</COLUMN_NAMES>
<FILTER>WHERE_clause</FILTER>
</Select>
SQL exécuté par l’adaptateur : SELECT COLUMN_list FROM TABLE_NAME WHERE WHERE_clause;
Sélectionner réponse
Jeu de résultats généré par la requête SELECT.
Message XML
<SelectResponse xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">
<SelectResult>
<[TABLE_NAME]RECORDSELECT>
<[FIELD1_NAME]>value1</[FIELD1_NAME]>
<[FIELD2_NAME]>value2</[FIELD2_NAME]>
…
</[TABLE_NAME]RECORDSELECT>
</SelectResult>
</SelectResponse>
Update
Les lignes qui correspondent à la clause where spécifiée dans l’élément FILTER sont mises à jour vers les valeurs spécifiées dans l’objet RECORDSET. Seules les colonnes spécifiées dans RECORDSET sont mises à jour dans chaque ligne correspondante.
Message XML
<Update xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">
<RECORDSET>
<[FIELD1_NAME]>value1</[FIELD1_NAME]>
<[FIELD2_NAME]>value2</[FIELD2_NAME]>
…
</RECORDSET>
<FILTER>WHERE_clause</FILTER> </Update>
SQL exécuté par l’adaptateur : UPDATE [TABLE_NAME] SET [FIELD1_NAME] = value1, [FIELD2_NAME] = value2, … WHERE WHERE_clause;
Mettre à jour la réponse
Le nombre de lignes mises à jour est retourné dans l’élément UpdateResult.
Message XML
<UpdateResponse xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">
<UpdateResult>[rows inserted]</UpdateResult>
</UpdateResponse>
Supprimer
Les lignes correspondant à la clause WHERE spécifiée par l’élément FILTER sont supprimées.
Message XML
<Delete xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">
<FILTER>WHERE_clause</FILTER>
</Delete>
SQL exécuté par l’adaptateur : DELETE FROM [TABLE_NAME] WHERE WHERE_clause;
Supprimer la réponse
Le nombre de lignes supprimées est retourné dans l’élément DeleteResult.
Message XML
<DeleteResponse xmlns="[VERSION]/[SCHEMA]/Table/[TABLE_NAME]">
<DeleteResult>[rows inserted]</DeleteResult>
</DeleteResponse>
Valeur d’espace réservé | Description |
---|---|
[VERSION] | Chaîne de version du message ; par exemple, http://Microsoft.LobServices.OracleDB/2007/03 |
[SCHÉMA] | Collection d’artefacts Oracle ; par exemple, SCOTT |
[TABLE_NAME] | Nom de la table ; par exemple, EMP |
[FIELD1_NAME] | Nom du champ de table ; par exemple, EMPNAME |
[COLUMN_list] | Liste de colonnes séparées par des virgules ; par exemple, NAME |
[SELECT_query] | Instruction SQL SELECT spécifiée dans l’élément QUERY d’une opération d’insertion en bloc ; par exemple, SELECT * from MyTable |
[WHERE_clause] | WHERE_clause pour l’instruction SELECT utilisée pour l’opération ; par exemple, ID > 10 |
Important
La structure de message pour les opérations de table de base sur les vues est la même que celle des tables, mais l’espace de noms de l’opération spécifie une vue plutôt qu’une table : <Insert xmlns ="[VERSION]/[SCHEMA]/``View``/[VIEW_NAME]">
.
Actions de message pour les opérations de table de base
Le tableau suivant montre les actions de message utilisées par l’adaptateur Oracle Database pour les opérations de base de table sur les tables. L’adaptateur Oracle Database utilise le nom de table spécifié dans l’action de message pour déterminer la table cible de l’opération.
Opération | Message Action | Exemple |
---|---|---|
Insérer | [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Insert | http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Insert |
Insérer une réponse | [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Insert/response | http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Insert/response |
Sélectionnez | [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Select | http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Select |
Sélectionner réponse | [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Select/response | http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Select/response |
Update | [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Update | http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Update |
Mettre à jour la réponse | [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Update/response | http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Update/response |
Supprimer | [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Delete | http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Delete |
Supprimer la réponse | [VERSION]/[SCHEMA]/Table/[TABLE_NAME]/Delete/response | http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/EMP/Delete/response |
[VERSION] = Chaîne de version du message ; par exemple, http://Microsoft.LobServices.OracleDB/2007/03
.
[SCHEMA] = Collection d’artefacts Oracle ; par exemple, SCOTT.
[TABLE_NAME] = Nom de la table ; par exemple, EMP.
Important
L’action de message pour une opération sur une vue est identique à celle d’une table, sauf que « View » remplace « Table » ; par exemple, http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/``View``/EMPVIEW/Insert
.
Voir aussi
Messages et schémas de message pour l’adaptateur BizTalk pour Oracle Database