

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Execução de uma operação de mesclagem com a substituição de linhas existentes
<a name="merge-replacing-existing-rows"></a>

Ao executar a operação de mesclagem detalhada no procedimento, coloque todas as etapas, exceto de criação e exclusão da tabela de preparação temporária, em uma única transação. A transação será revertida se ocorrer uma falha na etapa. O uso de uma única transação também reduz o número de confirmações, que economiza tempo e recursos.

**Para executar uma operação de mesclagem com a substituição de linhas existentes**

1. Crie uma tabela de preparação e preencha-a com os dados a serem mesclados, conforme exibido no seguinte pseudocódigo.

   ```
   CREATE temp table stage (like target); 
   
   INSERT INTO stage 
   SELECT * FROM source 
   WHERE source.filter = 'filter_expression';
   ```

1.  Use MERGE para realizar uma junção interna com a tabela de preparação e atualizar as linhas da tabela de destino que correspondem à tabela de preparação e, depois, insira todas as linhas restantes na tabela de destino que não correspondam à tabela de preparação.

    Recomendamos que você execute as operações de atualização e inserção em um único comando MERGE.

   ```
   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});
   ```

1. Descarte a tabela de preparação. 

   ```
   DROP TABLE stage;
   ```