Partager via


Opérations d’insertion, de mise à jour, de suppression et de sélection sur les tables et les vues avec l’adaptateur SQL

L’adaptateur Microsoft BizTalk pour SQL Server fait surface à un ensemble d’opérations standard sur chaque table et vue dans la base de données SQL Server. À l’aide de ces opérations, vous pouvez exécuter des instructions INSERT, UPDATE, SELECT et DELETE simples qualifiées par une clause WHERE sur la table ou la vue cible. Ces opérations sont également appelées opérations DML (Data Manipulation Language).

Le tableau suivant présente les opérations DML que l’adaptateur SQL prend en charge :

Opération Description
Insérer Effectue une opération d’insertion sur la table ou la vue cible.

- L’opération Insert prend un tableau d’enregistrements comme entrée. Chaque enregistrement est fortement typé dans la table cible et correspond à la ligne insérée dans la table.
- Vous pouvez insérer des valeurs dans des colonnes d’identité à condition que la valeur de la propriété de liaison AllowIdentityInsert soit définie sur TRUE. Pour plus d’informations sur la propriété de liaison AllowIdentityInsert, consultez En savoir plus sur l’adaptateur BizTalk pour SQL Server propriétés de liaison d’adaptateur.
- La valeur de retour de l’opération Insert est un tableau de type de données Long. Ce tableau stocke les valeurs d’identité des lignes insérées, le cas échéant. S’il n’y a pas de colonne d’identité dans une table, la valeur de retour est NULL.

Certaines valeurs du message d’opération Insert sont traitées de la manière suivante par l’adaptateur SQL :

- Les valeurs spécifiées pour les colonnes calculées et les colonnes timestamp sont ignorées.
- Si le nœud d’une colonne d’identité est null, il est ignoré.

Pour toutes les autres valeurs du message d’opération Insérer :

- Si une valeur est spécifiée pour une colonne, cette valeur est utilisée dans l’instruction INSERT.
- Si le nœud d’une colonne particulière est null, null est utilisé dans l’instruction INSERT. Note: Si, pour un enregistrement particulier, aucune valeur ne peut être utilisée dans l’instruction INSERT (autrement dit, aucune valeur n’a été spécifiée pour une colonne ou toutes les valeurs de colonne ont été ignorées), l’adaptateur exécute l’instruction SQL suivante : insert into <table_name> default values
Sélectionnez Exécute une instruction SELECT sur la table ou la vue cible en fonction d’un tableau d’enregistrements (colonnes) et d’une chaîne de requête qui spécifie une clause WHERE.

- Une valeur doit être spécifiée pour la liste des colonnes dans l’instruction SELECT. Si toutes les colonnes doivent être récupérées dans une table ou une vue, * doit être spécifié dans l’instruction SELECT. Si des colonnes spécifiques doivent être récupérées, les noms de colonnes doivent être séparés par des virgules et spécifiés dans le même ordre qu’ils sont définis dans la table ou la vue.
- La clause WHERE doit être incluse dans l’instruction SELECT. Toutefois, si vous ne souhaitez pas spécifier de valeur dans la clause WHERE, vous pouvez supprimer l’élément ou le Query laisser vide.
- L’opération Sélectionner vous permet également d’effectuer une opération de mise à jour. Dans ce cas, l’instruction UPDATE est placée à l’intérieur de l’élément Query de l’instruction SELECT.

La valeur de retour de l’opération Select est un jeu de résultats fortement typé qui contient les colonnes et lignes spécifiées de la table ou de la vue cible.
Update Effectue une opération de mise à jour sur la table ou la vue cible.

- L’opération de mise à jour prend un tableau de paires d’enregistrements comme entrée. Chaque paire d’enregistrements est une collection de deux enregistrements, et chaque enregistrement est fortement typé dans la table cible.

- Le premier enregistrement correspond aux nouvelles valeurs qui doivent être mises à jour, c’est-à-dire qu’il correspond à la clause SET de l’instruction UPDATE.
- Le deuxième enregistrement correspond aux anciennes valeurs des lignes, c’est-à-dire qu’il correspond à la clause WHERE de l’instruction UPDATE. Note: Si, pour une paire d’enregistrements particulière, aucune valeur ne peut être utilisée dans la clause SET, aucune instruction UPDATE n’est exécutée pour cette paire d’enregistrements.
- Vous pouvez mettre à jour des valeurs dans les colonnes d’identité à condition que la valeur de la propriété de liaison AllowIdentityInsert soit définie sur TRUE. Pour plus d’informations sur la propriété de liaison AllowIdentityInsert, consultez En savoir plus sur l’adaptateur BizTalk pour SQL Server propriétés de liaison d’adaptateur.
- La valeur de retour de l’opération De mise à jour est de type de données Int32 et indique le nombre de lignes mises à jour.
Certaines valeurs du message d’opération de mise à jour sont traitées de la manière suivante par l’adaptateur SQL :

- Les valeurs spécifiées pour les colonnes calculées et les colonnes d’horodatage dans la clause SET du message sont ignorées.
- Si un type défini par l’utilisateur (UDT) n’est pas ordonné en octets, la valeur spécifiée pour la colonne UDT dans la clause WHERE est ignorée.
- Si le nœud d’une colonne d’identité est null dans la clause SET du message, il est ignoré.
- Si le nœud d’une colonne d’identité ou d’horodatage est null dans la clause WHERE du message, il est ignoré.
- Si le nœud d’une colonne image, XML, Text ou Ntext n’est pas null dans la clause WHERE du message, les valeurs spécifiées pour ces colonnes sont ignorées, car ces valeurs ne peuvent pas être comparées.

Pour toutes les autres valeurs du message de l’opération de mise à jour :

- Si une valeur est spécifiée pour une colonne dans la clause SET de l’instruction UPDATE, la valeur est utilisée dans la clause SET de l’instruction (set <column_name> = <value>).
- Si le nœud d’une colonne particulière est null dans la clause SET, null est utilisé dans l’instruction UPDATE (set <column_name> = null).
- Si une valeur est spécifiée pour une colonne dans la clause WHERE de l’instruction UPDATE, la valeur est utilisée dans la clause WHERE de l’instruction (where <column_name> = <value>).
- Si le nœud d’une colonne particulière est null dans la clause WHERE de l’instruction UPDATE, NULL est utilisé dans l’instruction UPDATE (where <column_name> is null).
Supprimer Effectue une opération Delete sur la table ou la vue cible en fonction d’un tableau fortement typé d’enregistrements (liste de noms de colonnes) de la table cible et d’une chaîne de filtre qui spécifie une clause WHERE.

La valeur de retour de l’opération Delete est de type de données Int32 et indique le nombre de lignes supprimées.

Certaines valeurs du message d’opération Delete sont traitées de la manière suivante par l’adaptateur SQL :

- Si le nœud d’une colonne image, XML, Text ou Ntext n’est pas null dans la clause WHERE du message, les valeurs spécifiées pour ces colonnes sont ignorées, car ces valeurs ne peuvent pas être comparées.
- Si le nœud d’une colonne d’identité ou d’horodatage est null, il est ignoré.
- Si un type défini par l’utilisateur n’est pas ordonné en octets, la valeur spécifiée pour la colonne UDT dans la clause WHERE est ignorée.

Pour toutes les autres valeurs du message d’opération Supprimer :

- Si une valeur est spécifiée pour une colonne, la valeur est utilisée dans la clause WHERE de l’instruction DELETE (where <column_name> = <value>).
- Si le nœud d’une colonne particulière est null, null est utilisé dans l’instruction DELETE (where <column_name> is null). Note: Si, pour un enregistrement particulier, aucune valeur ne peut être utilisée dans l’instruction DELETE (autrement dit, aucune valeur n’a été spécifiée pour une colonne ou si toutes les valeurs de colonne présentes ont été ignorées), l’adaptateur n’exécute aucune instruction DELETE.

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

Voir aussi

Se connecter à un système SAP à l’aide de l’adaptateur