Dichiarazioni preparate

In SQL, le istruzioni preparate vengono utilizzate per modellare 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, in quanto non è più necessario ripetere ripetutamente l’analisi di una query.

Utilizzo di istruzioni preparate

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

Preparare una dichiarazione preparata

Questa query SQL salva la query SELECT scritta con il nome specificato come PLAN_NAME. È possibile utilizzare variabili quali $1 in sostituzione dei valori effettivi. Questa istruzione preparata verrà salvata durante la sessione corrente. Si prega di notare che i nomi dei piani sono not sensibile a 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;

Esegui un'istruzione preparata

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'istruzione preparata

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

Formato SQL

DEALLOCATE {PLAN_NAME}

SQL di esempio

DEALLOCATE test;

Esempio di flusso utilizzando le istruzioni preparate

Inizialmente, è possibile avere una query SQL, come quella seguente:

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

La query SQL di cui sopra restituirà la seguente risposta:

id nome cognome compleanno e-mail città paese
10000 alessandro davis 1993-09-15 example@example.com Vancouver Canada
10001 antoina duboide 1967-03-14 example2@example.com Parigi Francia
10002 kyoko sakura 11-26/1999 example3@example.com Tokyo Giappone
10003 linus pettersson 1982-06-03 example4@example.com Stoccolma Svezia
10004 aasir waithaka 1976-12-17 example5@example.com Nairobi Kenya
10005 fernando rios 07/07/2002 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;

A questo punto, l’istruzione preparata può essere eseguita utilizzando la seguente chiamata:

EXECUTE getIdRange(10000, 10005);

Quando viene chiamato, vengono visualizzati esattamente gli stessi risultati di prima:

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

Dopo aver completato l'utilizzo dell'istruzione preparata, è possibile disallocarla utilizzando la seguente chiamata:

DEALLOCATE getIdRange;

In questa pagina