Instrucciones 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 puede optimizar el rendimiento, ya que ya no necesita volver a analizar repetidamente una consulta.

Uso de instrucciones preparadas

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

Preparar una instrucción preparada prepare

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

Formato SQL

PREPARE {PLAN_NAME} AS {SELECT_QUERY}

SQL de ejemplo

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

Ejecutar una instrucción preparada execute

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

Formato SQL

EXECUTE {PLAN_NAME}('{PARAMETERS}')

SQL de ejemplo

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

Anular la asignación de una instrucción preparada deallocate

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

Formato SQL

DEALLOCATE {PLAN_NAME}

SQL de ejemplo

DEALLOCATE test;

Flujo de ejemplo con instrucciones preparadas

Inicialmente, puede tener una consulta SQL, como la siguiente:

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

La consulta SQL anterior devolverá la siguiente respuesta:

id
firstname
apellido
fecha de nacimiento
email
city
país
10 000
alejandro
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
lino
pettersson
1982-06-03
example4@example.com
Estocolmo
Suecia
10004
aasir
waithaka
1976-12-17
example5@example.com
Nairobi
Kenia
10005
Fernando
ríos
2002-07-30
example6@example.com
Santiago
Chile

Esta consulta SQL se puede parametrizar mediante 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 llamada siguiente:

EXECUTE getIdRange(10000, 10005);

Cuando se realice esta llamada, verá exactamente los mismos resultados que antes:

id
firstname
apellido
fecha de nacimiento
email
city
país
10 000
alejandro
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
lino
pettersson
1982-06-03
example4@example.com
Estocolmo
Suecia
10004
aasir
waithaka
1976-12-17
example5@example.com
Nairobi
Kenia
10005
Fernando
ríos
2002-07-30
example6@example.com
Santiago
Chile

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

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