Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting
Ausführen einer Zusammenführungsoperation durch Ersetzung vorhandener Zeilen
Wenn Sie die im Verfahren beschriebene Zusammenführungsoperation ausführen, führen Sie alle Schritte abgesehen vom Erstellen und Entfernen der temporären Staging-Tabelle in einer einzigen Transaktion aus. Die Transaktion wird rückgängig gemacht, falls ein Schritt fehlschlägt. Die Verwendung einer einzelnen Transaktion reduziert auch die Anzahl der Commit-Vorgänge, was Zeit und Ressourcen spart.
So führen Sie eine Zusammenführungsoperation durch Ersetzung vorhandener Zeilen aus
-
Erstellen Sie eine Staging-Tabelle und füllen Sie sie mit Daten aus, die zusammengeführt werden sollen, wie im folgenden Pseudocode gezeigt.
CREATE temp table stage (like target); INSERT INTO stage SELECT * FROM source WHERE source.filter = 'filter_expression'; -
Verwenden Sie MERGE, um einen Inner Join mit der Staging-Tabelle durchzuführen und die Zeilen aus der Zieltabelle zu aktualisieren, die der Staging-Tabelle entsprechen. Fügen Sie dann alle verbleibenden Zeilen in die Zieltabelle ein, die nicht mit der Staging-Tabelle übereinstimmen.
Wir empfehlen, die Aktualisierungs- und Einfügevorgänge in einem einzigen MERGE-Befehl auszuführen.
MERGE INTO target USING stage [optional alias] on (target.primary_key = stage.primary_key) WHEN MATCHED THEN UPDATE SET col_name1 = stage.col_name1 , col_name2= stage.col_name2, col_name3 = {expr} WHEN NOT MATCHED THEN INSERT (col_name1 , col_name2, col_name3) VALUES (stage.col_name1, stage.col_name2, {expr}); -
Entfernen Sie die Staging-Tabelle.
DROP TABLE stage;