Declaraciones preparadas

En SQL, las instrucciones preparadas se utilizan para crear plantillas de consultas o actualizaciones similares. Adobe Experience Platform Query Service admite instrucciones preparadas mediante una consulta parametrizada. Esto se puede utilizar para optimizar el rendimiento, ya que ya no tendrá que volver a analizar una consulta una y otra vez.

Uso de instrucciones preparadas

Cuando se utilizan instrucciones preparadas, se admiten las siguientes sintaxis:

Preparar una declaración preparada

Esta consulta SQL guarda la consulta SELECT escrita con el nombre dado como PLAN_NAME. Puede utilizar variables como $1 en lugar de valores reales. Esta declaración preparada se guardará durante la sesión actual. Tenga en cuenta que los nombres de plan distinguen entre mayúsculas y minúsculas not.

Formato SQL

PREPARE {PLAN_NAME} AS {SELECT_QUERY}

SQL de muestra

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

Ejecutar una instrucción preparada

Esta consulta SQL utiliza la instrucción preparada que se creó anteriormente.

Formato SQL

EXECUTE {PLAN_NAME}('{PARAMETERS}')

SQL de muestra

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

Desasignar una instrucción preparada

Esta consulta SQL se utiliza para eliminar la instrucción preparada con nombre.

Formato SQL

DEALLOCATE {PLAN_NAME}

SQL de muestra

DEALLOCATE test;

Flujo de ejemplo utilizando instrucciones preparadas

Inicialmente, puede tener una consulta SQL, como la que se muestra a continuación:

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

La consulta SQL anterior devolverá la siguiente respuesta:

id firstname lastname cumpleaños email city country
10000 alexander davis 1993-09-15 example@example.com Vancouver Canadá
10001 antoína dubois 1967-03-14 example2@example.com París Francia
10002 kyoko sakura 1999-11-26 example3@example.com Tokio Japón
10003 linus pettersson 1982-06-03 example4@example.com Estocolmo Suecia
10004 aasir waithaka 1976-12-17 example5@example.com Nairobi Kenia
10005 fernando rios 2002-07-30 example6@example.com Santiago Chile

Esta consulta SQL se puede parametrizar utilizando la siguiente instrucción preparada:

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

Ahora, la instrucción preparada se puede ejecutar utilizando la siguiente llamada:

EXECUTE getIdRange(10000, 10005);

Cuando se llame a esto, verá exactamente los mismos resultados que antes:

id firstname lastname cumpleaños email city country
10000 alexander davis 1993-09-15 example@example.com Vancouver Canadá
10001 antoína dubois 1967-03-14 example2@example.com París Francia
10002 kyoko sakura 1999-11-26 example3@example.com Tokio Japón
10003 linus pettersson 1982-06-03 example4@example.com Estocolmo Suecia
10004 aasir waithaka 1976-12-17 example5@example.com Nairobi Kenia
10005 fernando rios 2002-07-30 example6@example.com Santiago Chile

Una vez que haya terminado de usar la instrucción preparada, puede desasignarla usando la siguiente llamada:

DEALLOCATE getIdRange;

En esta página