Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

PREPARE

Modo de foco
PREPARE - Amazon Redshift

Prepare uma instrução para execução.

PREPARE cria uma instrução preparada. Quando a instrução PREPARE é executada, a instrução especificada (SELECT, INSERT, UPDATE ou DELETE) é analisada, reescrita e planejada. Quando um comando EXECUTE é emitido para a instrução preparada, o Amazon Redshift pode optar por revisar o plano de execução da consulta (para melhorar a performance com base nos valores de parâmetro especificados) antes de executar a instrução preparada.

Sintaxe

PREPARE plan_name [ (datatype [, ...] ) ] AS statement

Parâmetros

plan_name

Nome arbitrário dado a esta instrução preparada em particular. Deve ser exclusivo em uma única sessão e é usado subsequentemente para executar ou liberar uma instrução preparada anteriormente.

tipodedados

Tipo de dados de um parâmetro da instrução preparada. Para consultar os parâmetros nas próprias instruções preparadas, use $1, $2 e assim por diante.

instrução

Qualquer instrução SELECT, INSERT, UPDATE ou DELETE.

Observações de uso

Instruções preparadas podem ter parâmetros: valores que são substituídos quando a instrução é executada. Para incluir parâmetros em uma instrução preparada, forneça uma lista de tipos de dados na instrução PREPARE e, na própria instrução a ser preparada, procure os parâmetros por posição usando a anotação $1, $2, ... Ao executar a instrução, especifique os valores reais para esses parâmetros da instrução EXECUTE. Consulte mais detalhes em EXECUTE.

Instruções preparadas duram somente a sessão atual. Quando a sessão termina, a instrução preparada é descartada e deve ser recriada antes de ser usada novamente. Isso também significa que uma única instrução preparada não pode ser usada por vários clientes de banco de dados ao mesmo tempo. No entanto, cada cliente pode criar sua própria instrução preparada para usar. A instrução preparada pode ser removida manualmente usando o comando DEALLOCATE.

Instruções preparadas têm a maior vantagem de performance quando uma única sessão está sendo usada para executar um grande número de instruções semelhantes. Como mencionado, para cada nova execução de instrução preparada, o Amazon Redshift pode revisar o plano de execução da consulta para melhorar a performance com base nos valores de parâmetro especificados. Para examinar o plano de execução de consulta escolhido pelo Amazon Redshift para qualquer comando EXECUTE específico, use o comando EXPLAIN.

Para obter mais informações sobre o planejamento de consultas e as estatísticas coletadas pelo Amazon Redshift para otimização de consulta, consulte o comando ANALYZE.

Exemplos

Crie uma tabela temporária, prepare a instrução INSERT e execute-a:

DROP TABLE IF EXISTS prep1; CREATE TABLE prep1 (c1 int, c2 char(20)); PREPARE prep_insert_plan (int, char) AS insert into prep1 values ($1, $2); EXECUTE prep_insert_plan (1, 'one'); EXECUTE prep_insert_plan (2, 'two'); EXECUTE prep_insert_plan (3, 'three'); DEALLOCATE prep_insert_plan;

Prepare uma instrução SELECT e execute-a:

PREPARE prep_select_plan (int) AS select * from prep1 where c1 = $1; EXECUTE prep_select_plan (2); EXECUTE prep_select_plan (3); DEALLOCATE prep_select_plan;

Consulte também

DEALLOCATE, EXECUTE

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.