

# Uso de parámetros de ejecución
<a name="querying-with-prepared-statements-querying-using-execution-parameters"></a>

Puede usar marcadores de posición de signo de interrogación en cualquier consulta DML para crear una consulta parametrizada sin crear primero una instrucción preparada. Para ejecutar estas consultas, puede utilizar la consola de Athena o la AWS CLI o el SDK de AWS y declarar las variables en el argumento `execution-parameters`.

**Topics**
+ [Uso de la consola de Athena](querying-with-prepared-statements-running-queries-with-execution-parameters-in-the-athena-console.md)
+ [Utilizar AWS CLI](querying-with-prepared-statements-running-queries-with-execution-parameters-using-the-aws-cli.md)

# Ejecución de consultas con parámetros de ejecución en la consola de Athena
<a name="querying-with-prepared-statements-running-queries-with-execution-parameters-in-the-athena-console"></a>

Cuando ejecuta una consulta parametrizada que tiene parámetros de ejecución (signos de interrogación) en la consola de Athena, se le solicitan los valores en el orden en que aparecen los signos de interrogación en la consulta.

**Para ejecutar una consulta que tiene parámetros de ejecución**

1. Ingrese una consulta con marcadores de posición de signo de interrogación en el editor de Athena, como se muestra en el siguiente ejemplo.

   ```
   SELECT * FROM "my_database"."my_table"
   WHERE year = ? and month= ? and day= ?
   ```

1. Seleccione **Ejecutar**.

1. En el cuadro de diálogo **Enter parameters** (Ingresar parámetros), ingrese un valor en orden para cada uno de los signos de interrogación de la consulta.  
![\[Ingrese los valores de los parámetros de la consulta en orden\]](http://docs.aws.amazon.com/es_es/athena/latest/ug/images/querying-with-prepared-statements-1.png)

1. Cuando haya terminado de ingresar los parámetros, seleccione **Run** (Ejecutar). El editor muestra los resultados de la consulta para los valores de parámetros que ha ingresado.

En este caso, puede elegir una de las siguientes opciones:
+ Ingrese valores de parámetros diferentes para la misma consulta y, a continuación, elija **Run again** (Ejecutar de nuevo).
+ Para borrar todos los valores que ha introducido a la vez, seleccione **Clear** (Eliminar).
+ Para editar la consulta directamente (por ejemplo, para agregar o eliminar signos de interrogación), cierre el cuadro de diálogo **Enter parameters ** (Ingresar parámetros) primero.
+ Para guardar la consulta parametrizada para su uso posterior, seleccione **Save** (Guardar) o **Save as** (Guardar como) y, a continuación, asigne un nombre a la consulta. Para obtener más información acerca del uso de consultas guardadas, consulte [Uso de consultas guardadas](saved-queries.md).

Para su comodidad, el cuadro de diálogo **Enter parameters** (Ingresar parámetros) recuerda los valores que ha ingresado anteriormente para consultar siempre que utilice la misma pestaña en el editor de consultas.

# Ejecución de consultas con parámetros de ejecución con la AWS CLI
<a name="querying-with-prepared-statements-running-queries-with-execution-parameters-using-the-aws-cli"></a>

Para utilizar la AWS CLI para ejecutar consultas con parámetros de ejecución, utilice el comando `start-query-execution` y proporcione una consulta parametrizada en el argumento `query-string`. A continuación, en el argumento `execution-parameters`, proporcione los valores de los parámetros de ejecución. En el siguiente ejemplo, se ilustra esta técnica.

```
aws athena start-query-execution 
--query-string "SELECT * FROM table WHERE x = ? AND y = ?"
--query-execution-context "Database"="default" 
--result-configuration "OutputLocation"="s3://amzn-s3-demo-bucket;/..."
--execution-parameters "1" "2"
```