Istruzioni preparate

In SQL, le istruzioni preparate vengono utilizzate per creare modelli di query o aggiornamenti simili. Adobe Experience Platform Query Service supporta le istruzioni preparate utilizzando una query con parametri. In questo modo è possibile ottimizzare le prestazioni, poiché non è più necessario ripetere ripetutamente l’analisi di una query.

Utilizzo di istruzioni preparate

Quando si utilizzano le istruzioni preparate, sono supportate le seguenti sintassi:

Prepara un rendiconto preparato prepare

Questa query SQL salva la query SELECT scritta con il nome specificato come PLAN_NAME. Puoi utilizzare variabili, come $1 al posto dei valori effettivi. L'istruzione preparata verrà salvata durante la sessione corrente. I nomi dei piani sono non distinzione tra maiuscole e minuscole.

Formato SQL

PREPARE {PLAN_NAME} AS {SELECT_QUERY}

SQL di esempio

PREPARE test AS SELECT * FROM table WHERE country = $1 AND city = $2;

Eseguire un'istruzione preparata execute

Questa query SQL utilizza l'istruzione preparata creata in precedenza.

Formato SQL

EXECUTE {PLAN_NAME}('{PARAMETERS}')

SQL di esempio

EXECUTE test('canada', 'vancouver');

Disallocare un rendiconto preparato deallocate

Questa query SQL viene utilizzata per eliminare l'istruzione preparata denominata.

Formato SQL

DEALLOCATE {PLAN_NAME}

SQL di esempio

DEALLOCATE test;

Flusso di esempio con istruzioni preparate

Inizialmente, è possibile disporre di una query SQL, come quella riportata di seguito:

SELECT * FROM table WHERE id >= 10000 AND id <= 10005;

La query SQL precedente restituirà la seguente risposta:

id
nome
cognome
data di nascita
e-mail
città
paese
10000
alessandro
davis
1993-09-15
example@example.com
Vancouver
Canada
10001
antoina
dubois
1967-03-14
example2@example.com
Parigi
Francia
10002
kyoko
sakura
1999-11-26
example3@example.com
Tokyo
Giappone
10003
linus
pettersson
1982-06-03
example4@example.com
Stoccolma
Svezia
10004
asir
waithaka
1976-12-17
example5@example.com
Nairobi
Kenya
10005
fernando
rios
2002-07-30
example6@example.com
Santiago
Cile

Questa query SQL può essere parametrizzata utilizzando la seguente istruzione preparata:

PREPARE getIdRange AS SELECT * FROM table WHERE id >= $1 AND id <= $2;

Ora, l’istruzione preparata può essere eseguita utilizzando la seguente chiamata:

EXECUTE getIdRange(10000, 10005);

Quando viene richiamato, vedrai gli stessi risultati di prima:

id
nome
cognome
data di nascita
e-mail
città
paese
10000
alessandro
davis
1993-09-15
example@example.com
Vancouver
Canada
10001
antoina
dubois
1967-03-14
example2@example.com
Parigi
Francia
10002
kyoko
sakura
1999-11-26
example3@example.com
Tokyo
Giappone
10003
linus
pettersson
1982-06-03
example4@example.com
Stoccolma
Svezia
10004
asir
waithaka
1976-12-17
example5@example.com
Nairobi
Kenya
10005
fernando
rios
2002-07-30
example6@example.com
Santiago
Cile

Dopo aver terminato di utilizzare l'istruzione preparata, è possibile deallocarla utilizzando la chiamata seguente:

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