Skip to content
GitHubXDiscordRSS

PreparedStatement

Learn how to create, update, and manage AWS Athena PreparedStatements using Alchemy Cloud Control.

The PreparedStatement resource allows you to manage AWS Athena PreparedStatements for executing SQL queries with predefined parameters in a specified workgroup.

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 = ?"
});

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
});

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]
});

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
});