Upsert-Vorgang in Microsoft Access simulieren
Normalerweise sind das Einfügen und Aktualisieren von Zeilen in eine Tabelle zwei unabhängige Prozesse. Was aber, wenn Sie beide Vorgänge in einer Abfrage ausführen möchten? Dieser Vorgang wird oft als „Upsert“ bezeichnet.
In Microsoft Access 2000 und höher können Sie eine UPDATE-Abfrage mit einem LEFT JOIN verwenden, um einen Upsert-Vorgang zu simulieren. Die Syntax lautet wie folgt:
<code class="language-sql">UPDATE b LEFT JOIN a ON b.id = a.id SET a.f1 = b.f1, a.f2 = b.f2, a.f3 = b.f3;</code>
In dieser Abfrage:
Wenn also eine Zeile mit der ID b.id in Tabelle „a“ vorhanden ist, wird diese Zeile mit dem Wert aus Tabelle „b“ aktualisiert. Andernfalls wird eine neue Zeile in die Tabelle „a“ eingefügt.
Beispiel:
Betrachten Sie das folgende Formular:
<code>| 表 "a" | 表 "b" | |---|---| | ID | Field1 | ID | Field1 | | 1 | ValueA1 | 1 | ValueB1 | | 2 | ValueA2 | 2 | ValueB2 | | 3 | ValueA3 | 3 | ValueB3 | | | | 4 | ValueB4 |</code>
Das Ausführen der obigen UPDATE-Abfrage führt zur folgenden aktualisierten Tabelle „a“:
<code>| ID | Field1 | |---|---| | 1 | ValueB1 | | 2 | ValueB2 | | 3 | ValueB3 | | 4 | ValueB4 | **(ID = 4 的新行已插入)**</code>
Das obige ist der detaillierte Inhalt vonWie kann ich das Upserting in Microsoft Access mithilfe von SQL simulieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!