PreparedStatement
The PreparedStatement resource allows you to manage AWS Athena PreparedStatements for executing SQL queries with predefined parameters in a specified workgroup.
Minimal Example
Section titled “Minimal Example”Create a basic prepared statement with required properties and a description:
import AWS from "alchemy/aws/control";
const preparedStatement = await AWS.Athena.PreparedStatement("basicPreparedStatement", { StatementName: "GetUserDetails", WorkGroup: "primary", Description: "A prepared statement for fetching user details", QueryStatement: "SELECT * FROM users WHERE user_id = ?"});
Advanced Configuration
Section titled “Advanced Configuration”Create a prepared statement with additional properties such as adopting an existing resource:
const advancedPreparedStatement = await AWS.Athena.PreparedStatement("advancedPreparedStatement", { StatementName: "FetchOrders", WorkGroup: "analytics", Description: "A prepared statement for fetching order details", QueryStatement: "SELECT * FROM orders WHERE status = ?", adopt: true});
Using Prepared Statements in Queries
Section titled “Using Prepared Statements in Queries”You can utilize prepared statements in your SQL queries by binding parameters:
const userId = 12345;const userQueryExecution = await AWS.Athena.StartQueryExecution("userQueryExecution", { QueryString: "EXECUTE GetUserDetails USING ?", QueryExecutionContext: { Database: "user_database" }, WorkGroup: "primary", Parameters: [userId]});
Updating a Prepared Statement
Section titled “Updating a Prepared Statement”You can also update an existing prepared statement if needed:
const updatedPreparedStatement = await AWS.Athena.PreparedStatement("updatedPreparedStatement", { StatementName: "GetUserDetails", WorkGroup: "primary", Description: "Updated prepared statement for fetching user details", QueryStatement: "SELECT * FROM users WHERE user_email = ?", adopt: true});