Folgende Regeln fassen die oben gegebenen Informationen zusammen:
Diese Regel gilt für A KEY JOIN B
, wobei A und B Basis- oder temporäre Tabellen sind.
Es werden alle Fremdschlüssel aus A gesucht, die B referenzieren.
Wenn ein Fremdschlüssel vorhanden ist, dessen Rollenname der Korrelationsname von Tabelle B ist, wird er als bevorzugter Fremdschlüssel markiert.
Es werden alle Fremdschlüssel aus B gesucht, die A referenzieren.
Wenn ein Fremdschlüssel vorhanden ist, dessen Rollenname der Korrelationsname von Tabelle A ist, wird er als bevorzugter Fremdschlüssel markiert.
Wenn mehrere bevorzugte Schlüssel vorhanden sind, ist der Join zweideutig. Der Syntaxfehler SQLE_AMBIGUOUS_JOIN (-147)
wird ausgegeben.
Wenn es einen einzigen bevorzugten Schlüssel gibt, wird dieser Fremdschlüssel ausgewählt, um die generierte Join-Bedingung für diesen KEY JOIN-Ausdruck festzulegen.
Wenn es keinen bevorzugten Schlüssel gibt, werden andere Fremdschlüssel von A und B verwendet:
Wenn mehrere Fremdschlüssel zwischen A und B vorhanden sind, ist der Join zweideutig. Der Syntaxfehler SQLE_AMBIGUOUS_JOIN (-147)
wird ausgegeben.
Wenn es einen einzigen Fremdschlüssel gibt, wird dieser Fremdschlüssel ausgewählt, um die generierte Join-Bedingung für diesen KEY JOIN-Ausdruck festzulegen.
Wenn es keinen Fremdschlüssel gibt, ist der Join ungültig, und es wird ein Fehler ausgegeben.
Diese Regel gilt für A KEY JOIN B
, wobei A und B Tabellenausdrücke sind, die keine Kommas enthalten.
Für jedes Tabellenpaar, jeweils eine Tabelle aus Ausdruck A und eine Tabelle aus Ausdruck B, werden alle Fremdschlüssel aufgelistet und alle bevorzugten Fremdschlüssel zwischen den Tabellen markiert. Die Regel zur Bestimmung eines bevorzugten Fremdschlüssel ist in Regel 1 beschrieben.
Wenn mehrere bevorzugte Schlüssel vorhanden sind, ist der Join zweideutig. Der Syntaxfehler SQLE_AMBIGUOUS_JOIN (-147)
wird ausgegeben.
Wenn es einen einzigen bevorzugten Schlüssel gibt, wird dieser Fremdschlüssel ausgewählt, um die generierte Join-Bedingung für diesen KEY JOIN-Ausdruck festzulegen.
Wenn es keinen bevorzugten Schlüssel gibt, werden andere Fremdschlüssel der Tabellenpaare verwendet:
Wenn mehrere Fremdschlüssel vorhanden sind, ist der Join zweideutig. Der Syntaxfehler SQLE_AMBIGUOUS_JOIN (-147)
wird ausgegeben.
Wenn es einen einzigen Fremdschlüssel gibt, wird dieser Fremdschlüssel ausgewählt, um die generierte Join-Bedingung für diesen KEY JOIN-Ausdruck festzulegen.
Wenn es keinen Fremdschlüssel gibt, ist der Join ungültig, und es wird ein Fehler ausgegeben.
Diese Regel gilt für (A1, A2, ...) KEY JOIN ( B1, B2, ...)
, wobei A1, B1 usw. Tabellenausdrücke sind, die keine Kommas enthalten.
Für jedes Paar von Tabellenausdrücken, Ai und Bj, wird eine eindeutige generierte Join-Bedingung für den Tabellenausdruck
(Ai KEY JOIN Bj)
gesucht. Dabei wird Regel 1 oder 2 angewendet. Falls ein KEY JOIN eines Tabellenausdruckspaars nach Regel 1 oder 2 zweideutig
ist, wird ein Syntaxfehler ausgegeben.
Die generierte Join-Bedingung für diesen KEY JOIN-Ausdruck ist die Verbindung der in Schritt 1 gefundenen Join-Bedingungen.
Diese Regel gilt für (A1, A2, ...) KEY JOIN ( B1, B2, ...)
, wobei A1, B1 usw. Tabellenausdrücke sind, die Kommas enthalten können.
Für jedes Paar von Tabellenausdrücken, Ai und Bj, wird eine eindeutige generierte Join-Bedingung für den Tabellenausdruck
(Ai KEY JOIN Bj)
gesucht. Dabei wird Regel 1, 2 oder 3 angewendet. Falls ein KEY JOIN eines Tabellenausdruckspaars nach Regel 1, 2 oder 3
zweideutig ist, wird ein Syntaxfehler ausgegeben.
Die generierte Join-Bedingung für diesen KEY JOIN-Ausdruck ist die Verbindung der in Schritt 1 gefundenen Join-Bedingungen.
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |