Partager via


Spécification de l'attribut sql:inverse sur sql:relationship (SQLXML 4.0)

S’applique à :SQL ServerAzure SQL Database

L’attribut sql:inverse n’est utile que lorsque le schéma XSD est utilisé pour le chargement en bloc ou par un programme de mise à jour. L’attribut sql:inverse peut être spécifié sur l’élément <sql:relationship>. Dans les codes de mise à jour, la logique de code de mise à jour interprète le schéma pour déterminer les tables et colonnes mises à jour par l'opération de code de mise à jour. Les relations parent-enfant spécifiées dans le schéma déterminent l'ordre dans lequel les enregistrements sont modifiés (insérés ou supprimés).

Si vous avez un schéma XSD dans lequel la relation parent-enfant est spécifiée dans l'ordre inverse de la relation clé primaire/clé étrangère entre les colonnes de base de données correspondantes, l'opération d'insertion ou de suppression du code de mise à jour échouera à cause de la violation de clé primaire/clé étrangère. Dans ce cas, l’attribut sql:inverse est spécifié (sql:inverse="true ») dans l’élément<sql:relationship> , et la logique de mise à jour inverse son interprétation de la relation parent-enfant spécifiée dans le schéma.

L’attribut sql:inverse prend une valeur booléenne (0=false, 1=true). Les valeurs acceptables sont 0, 1, true et false.

Pour obtenir un exemple de travail utilisant l’annotation sql:inverse , consultez Spécification d’un schéma de mappage annoté dans un updategram.

Voir aussi

Spécification de relations à l'aide de sql:relationship (SQLXML 4.0)