Partager via


Opérations d’insertion, de mise à jour, de suppression et de sélection sur des tables et des vues Oracle

L’adaptateur Microsoft BizTalk pour Oracle Database expose un ensemble d’opérations standard sur chaque table et vue de base de données Oracle. À l’aide de ces opérations, vous pouvez effectuer des instructions SQL INSERT, UPDATE, SELECT et DELETE simples qualifiées par une clause WHERE sur la table cible (ou la vue). Ces opérations sont également appelées opérations de manipulation de données (DML). Pour effectuer des opérations plus complexes, par exemple une requête SQL SELECT qui utilise l’opérateur JOIN, vous pouvez utiliser l’opération SQLEXECUTE. Pour plus d’informations sur l’opération SQLEXECUTE, consultez Opération SQLEXECUTE dans Oracle Database.

Le tableau suivant montre les opérations DML que l’adaptateur Oracle Database prend en charge :

Opération Description
Insérer Effectue une opération d’insertion sur la table ou la vue cible. L’opération Insertion prend en charge plusieurs insertions d’enregistrements ou d’insertions en bloc dans la table ou la vue cible :

- Une opération d’insertion d’enregistrements multiples insère des lignes dans une table ou une vue en fonction d’un jeu d’enregistrements fourni.

- Une opération d’insertion en bloc insère des lignes dans une table ou une vue en fonction d’une requête SQL SELECT et d’une liste de colonnes fournies. Les enregistrements retournés par la requête sont insérés dans la table cible en fonction de la liste de colonnes.

La valeur de retour d’une opération Insert est le nombre de lignes insérées.

Note: L’insertion à plusieurs enregistrements et l’insertion en bloc ne peuvent pas être combinées dans le même message.

InlineValue

Pour tous les enregistrements de données simples d’une opération d’insertion d’enregistrements multiples, vous pouvez choisir de remplacer la valeur d’un enregistrement en spécifiant une valeur pour un attribut facultatif appelé InlineValue. L’attribut InlineValue peut être utilisé pour insérer des valeurs calculées dans des tables ou des vues telles que le remplissage de la colonne clé primaire à l’aide d’une séquence ou l’insertion de date système (à l’aide de SYSDATE) dans une colonne de date. Par exemple, dans l’instruction INSERT suivante :

<Insert xmlns="http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Table/ACCOUNTACTIVITY"> <RECORDSET> <ACCOUNTACTIVITYRECORDINSERT> <ACCOUNT>10001</ACCOUNT> <EMPNAME>John</EMPNAME> <AMOUNT>1500</AMOUNT> <TRANSDATE InlineValue="SYSDATE">2008-06-21T15:52:19</TRANSDATE> </ACCOUNTACTIVITYRECORDINSERT > </RECORDSET> </Insert>

Bien que « 2008-06-21T15 :52 :19 » soit spécifié comme valeur pour la colonne TRANSDATE, la valeur de l’attribut InlineValue, « SYSDATE », (date système) sera insérée dans la table cible.

Lors de l’utilisation de l’attribut InlineValue :

- Évitez d’utiliser des valeurs constantes pour l’attribut InlineValue. Par exemple, dans l’instruction INSERT, si vous spécifiez <EMPNAME InlineValue="John"/> , une erreur s’affiche. En effet, la valeur de l’attribut InlineValue est transmise telle quelle à Oracle et, dans ce cas, John est passé à la base de données Oracle, qui n’est pas la valeur attendue (la valeur attendue est « John »). Vous devrez utiliser des guillemets uniques autour du nom de l’employé. Par exemple : <EMPNAME InlineValue="’John’"/>.

- Si vous souhaitez utiliser une requête select pour l’attribut InlineValue, vous devez placer l’instruction SELECT entre parenthèses et vous assurer que la requête select n’extrait qu’un seul enregistrement. Par exemple : <EMPNAME InlineValue="(SELECT NAME FROM MS_SAMPLE_EMPLOYEES WHERE ID=123)"/>.

Note: Si un élément est marqué comme NOT NULL dans la base de données Oracle, vous devez spécifier une valeur pour cet élément, même si vous avez spécifié une valeur inline. L’échec de cette opération entraîne l’échec de la validation du schéma.
Sélectionnez Exécute une requête SQL SELECT sur la table ou la vue cible en fonction d’une liste fournie de noms de colonnes et d’une chaîne de filtre qui spécifie une clause SQL WHERE.

La valeur de retour d’une opération Select est un jeu de résultats fortement typé qui contient les colonnes et les lignes spécifiées.
Update Effectue une opération de mise à jour sur la table ou la vue cible. Les enregistrements à mettre à jour sont spécifiés par une chaîne de filtre qui spécifie une clause SQL WHERE. Les valeurs de la mise à jour sont spécifiées dans un enregistrement de modèle.

La valeur de retour d’une opération de mise à jour est le nombre de lignes mises à jour.
Supprimer Effectue une opération De suppression sur la table ou la vue cible en fonction d’une clause SQL WHERE spécifiée dans une chaîne de filtre.

La valeur de retour d’une opération De suppression est le nombre de lignes supprimées.

Le cas échéant, consultez les références suivantes :

Voir aussi

Quelles opérations peut-on effectuer à l’aide de l’adaptateur ?