Condividi tramite


Specifica dell'attributo sql:inverse in sql:relationship (SQLXML 4.0)

L'attributo sql:inverse risulta utile solo quando lo schema XSD viene utilizzato per il caricamento bulk o da un updategram. L'attributo sql:inverse può essere specificato nell'elemento <sql:relationship>. Negli updategram la relativa logica interpreta lo schema nella determinazione delle tabelle e delle colonne aggiornate dall'operazione dell'updategram. Le relazioni padre-figlio specificate nello schema determinano l'ordine di modifica (inserimento o eliminazione) dei record.

Nel caso di uno schema XSD in cui la relazione padre-figlio viene specificata nell'ordine inverso a quello della relazione chiave primaria/chiave esterna tra le colonne del database corrispondenti, l'operazione di inserimento o eliminazione dell'updategram non riuscirà a causa della violazione della relazione chiave primaria/chiave esterna. In tali casi, l'attributo sql:inverse viene specificato (sql:inverse="true") nell'elemento <sql:relationship> e la logica dell'updategram inverte l'interpretazione della relazione padre-figlio specificata nello schema.

L'attributo sql:inverse utilizza un valore booleano (0=false, 1=true). I valori accettabili sono 0, 1, true e false.

Per un esempio reale di utilizzo dell'annotazione sql:inverse, vedere Specifica di uno schema di mapping con annotazioni in un updategram.