Demonstrativos preparados
No SQL, as instruções preparadas são usadas para modelar consultas ou atualizações semelhantes. O Adobe Experience Platform Query Service dá suporte a instruções preparadas usando uma consulta parametrizada. Isso pode otimizar o desempenho, já que não é mais necessário reanalisar repetidamente uma consulta.
Uso de instruções preparadas
Ao usar instruções preparadas, as seguintes sintaxes são suportadas:
Preparar uma instrução preparada prepare
Esta consulta SQL salva a consulta SELECT gravada com o nome especificado como PLAN_NAME
. Você pode usar variáveis, como $1
no lugar dos valores reais. Esta instrução preparada será salva durante a sessão atual. Observe que os nomes do plano não diferenciam maiúsculas de minúsculas.
Formato SQL
PREPARE {PLAN_NAME} AS {SELECT_QUERY}
SQL de Exemplo
PREPARE test AS SELECT * FROM table WHERE country = $1 AND city = $2;
Executar uma instrução preparada execute
Esta consulta SQL usa a instrução preparada que foi criada anteriormente.
Formato SQL
EXECUTE {PLAN_NAME}('{PARAMETERS}')
SQL de Exemplo
EXECUTE test('canada', 'vancouver');
Desalocar uma instrução preparada deallocate
Esta consulta SQL é usada para excluir a instrução preparada nomeada.
Formato SQL
DEALLOCATE {PLAN_NAME}
SQL de Exemplo
DEALLOCATE test;
Exemplo de fluxo usando instruções preparadas
Inicialmente, você pode ter uma consulta SQL, como a abaixo:
SELECT * FROM table WHERE id >= 10000 AND id <= 10005;
A consulta SQL acima retornará a seguinte resposta:
Esta consulta SQL pode ser parametrizada usando a seguinte instrução preparada:
PREPARE getIdRange AS SELECT * FROM table WHERE id >= $1 AND id <= $2;
Agora, a instrução preparada pode ser executada usando a seguinte chamada:
EXECUTE getIdRange(10000, 10005);
Quando isso for chamado, você verá os mesmos resultados de antes:
Depois de concluir o uso da instrução preparada, você pode desalocá-la usando a seguinte chamada:
DEALLOCATE getIdRange;