

 Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の Python UDF は、2026 年 6 月 30 日まで引き続き機能します。詳細については、[ブログ記事](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)を参照してください。

# 一時的に使用するステージングテーブルを作成する
<a name="merge-create-staging-table"></a>

*ステージングテーブル*は、*ターゲットテーブル*を変更 (更新、挿入含む) する際に使用するデータすべてを一時的に保持するためのテーブルです。

マージ操作では、ステージングテーブルとターゲットテーブルを結合する必要があります。結合する列をコロケーションするには、ステージングテーブルの分散キーを、ターゲットテーブルの分散キーと同じ列に設定する必要があります。例えば、ターゲットテーブルが分散キー列に外部キーを使用している場合には、ステージングテーブルの分散キーと同じ列を使用する必要があります。[CREATE TABLE LIKE](r_CREATE_TABLE_NEW.md#create-table-like) ステートメントを使用してステージングテーブルを作成すると、ステージングテーブルが親テーブルから分散キーを継承します。CREATE TABLE AS ステートメントを使用する場合、新しいテーブルは分散キーを継承しません。詳細については、「[クエリ最適化のためのデータのディストリビューション](t_Distributing_data.md)」を参照してください。

分散キーがプライマリキーと異なり、マージ操作の一環として分散キーが更新されない場合には、分散キー列の冗長結合述語を追加し、コロケーテッド結合を実現します。次に例を示します。

```
where target.primarykey = stage.primarykey 
and target.distkey = stage.distkey
```

クエリでコロケーテッド結合を使用するかどうかを確認するには、[EXPLAIN](r_EXPLAIN.md) を使用してクエリを実行し、結合すべてに DS\$1DIST\$1NONE があるかどうかを確認します。詳細については、「[クエリプランの評価](c_data_redistribution.md)」を参照してください。