Demonstrativos preparados

No SQL, as instruções preparadas são usadas para modelar consultas ou atualizações semelhantes. Adobe Experience Platform Query Service O oferece suporte a instruções preparadas usando uma consulta com parâmetros. 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 fornecido como PLAN_NAME. É possível usar variáveis, como $1 em vez de valores reais. Esta instrução preparada será salva durante a sessão atual. Observe que os nomes dos planos são não distinção entre maiúsculas e 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:

id
firstname
sobrenome
data de nascimento
email
city
país
10000
alexandre
davis
1993-09-15
example@example.com
Vancouver
Canadá
10001
antoína
dubois
1967-03-14
example2@example.com
Paris
França
10002
kyoko
sakura
1999-11-26
example3@example.com
Tóquio
Japão
10003
linus
pettersson
1982-06-03
example4@example.com
Estocolmo
Suécia
10004
aasir
waithaka
1976-12-17
example5@example.com
Nairóbi
Quênia
10005
fernando
rios
2002-07-30
example6@example.com
Santiago
Chile

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:

id
firstname
sobrenome
data de nascimento
email
city
país
10000
alexandre
davis
1993-09-15
example@example.com
Vancouver
Canadá
10001
antoína
dubois
1967-03-14
example2@example.com
Paris
França
10002
kyoko
sakura
1999-11-26
example3@example.com
Tóquio
Japão
10003
linus
pettersson
1982-06-03
example4@example.com
Estocolmo
Suécia
10004
aasir
waithaka
1976-12-17
example5@example.com
Nairóbi
Quênia
10005
fernando
rios
2002-07-30
example6@example.com
Santiago
Chile

Depois de concluir o uso da instrução preparada, você pode desalocá-la usando a seguinte chamada:

DEALLOCATE getIdRange;
recommendation-more-help
ccf2b369-4031-483f-af63-a93b5ae5e3fb