DEV Community

Cover image for Simulando a cláusula MERGE em uma Stored Procedure Compilada Nativamente.
Allan Rodrigues
Allan Rodrigues

Posted on

Simulando a cláusula MERGE em uma Stored Procedure Compilada Nativamente.

O que é uma Stored Procedure Compilada Nativamente?

Em resumo SP's compiladas nativamente são procedures compiladas para código de máquina gerando uma DLL e carregando a mesma para o In-Memory OLTP Runtime e é usada para acessar tabelas otimizadas em memória.
Mais detalhes sobre esse tipo de SP você pode encontrar AQUI .

Mas esse tipo de procedure possui limitações e uma delas é a utilização do comando MERGE.

O que é o T-SQL MERGE?

Com o comando MERGE é possível realizar INSERT, UPDATE, DELETE na mesma instrução de acordo com a validação dos dados entre as tabelas origem e destino.
Abaixo a utilização do MERGE:

Alt Text

Mas como usar uma instrução tão poderosa em procedures compiladas nativamente? Segue abaixo um script equivalente, um workaround para isso.

  1. Criamos uma tabela e um tipo
    Alt Text

  2. Script de criação da procedure que fará o Merge
    Alt Text

Depois é só declarar uma váriavel do tipo que foi criado, inserir alguns valores e passar para procedure como parametro para testar.

Prontinho!

Temos uma procedure compilada nativamente que simula a execução do comando merge :D

Top comments (0)