Angeben des sql:inverse-Attributs für sql:relationship (SQLXML 4.0)
Das sql:inverse-Attribut ist nur dann nützlich, wenn das XSD-Schema zum Massenladen oder von einem Updategram verwendet wird. Das sql:inverse-Attribut kann für das <sql:relationship>-Element angegeben werden. In Updategrams interpretiert die Updategram-Logik das Schema beim Bestimmen der Tabellen und Spalten, die durch den Updategram-Vorgang aktualisiert werden. Die im Schema angegebenen Parent-Child-Beziehungen legen die Reihenfolge fest, in der die Datensätze modifiziert (eingefügt oder gelöscht) werden.
Wenn ein XSD-Schema gegeben ist, in dem die Parent-Child-Beziehung invers zur Primär-/Fremdschlüssel-Beziehung zwischen den zugehörigen Datenbankspalten angegeben ist, dann schlägt der Updategram-Vorgang zum Einfügen oder Löschen wegen der Primär-/Fremdschlüsselverletzung fehl. In diesem Fall wird das sql:inverse-Attribut (sql:inverse="true") im <sql:relationship>-Element angegeben, und die Updategram-Logik invertiert die Interpretation der im Schema angegebenen Parent-Child-Beziehung.
Das sql:inverse-Attribut akzeptiert einen booleschen Wert (0 = false, 1 = true). Zulässig sind die Werte 0, 1, true und false.
Ein funktionstüchtiges Beispiel, in dem die sql:inverse-Anmerkung verwendet wird, finden Sie unter Angeben eines Zuordnungsschemas mit Anmerkungen in einem Updategram.