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”.

UPDATE - Amazon Redshift

UPDATE

Atualiza valores em uma ou mais colunas de tabela quando uma condição é atendida.

nota

O tamanho máximo de uma única instrução SQL é 16 MB.

Sintaxe

[ WITH [RECURSIVE] common_table_expression [, common_table_expression , ...] ] UPDATE table_name [ [ AS ] alias ] SET column = { expression | DEFAULT } [,...] [ FROM fromlist ] [ WHERE condition ]

Parâmetros

Cláusula WITH

Cláusula opcional que especifica uma ou mais expressões de tabela-comum. Consulte Cláusula WITH.

table_name

Uma tabela temporária ou persistente. Somente o proprietário da tabela ou um usuário com o privilégio UPDATE na tabela pode atualizar linhas. Se usar a cláusula FROM ou selecionar das tabelas em uma expressão ou condição, você deve ter o privilégio SELECT nessas tabelas. Você não pode fornecer um alias à tabela aqui. No entanto, você pode especificar um alias na cláusula FROM.

nota

As tabelas externas do Amazon Redshift Spectrum são somente leitura. Não é possível usar UPDATE uma tabela externa.

alias

Nome alternativo temporário para uma tabela de destino. Os aliases são opcionais. A palavra-chave AS é sempre opcional.

SET coluna =

Uma ou mais colunas que você deseja modificar. As colunas que não estão listadas mantêm seus valores atuais. Não inclui o nome da tabela na especificação de uma coluna de destino. Por exemplo, UPDATE tab SET tab.col = 1 é inválido.

expressão

Uma expressão que define o novo valor para a coluna especificada.

DEFAULT

Atualiza a coluna com o valor padrão atribuído à coluna na instrução CREATE TABLE.

FROM listadetabelas

Você pode atualizar uma tabela fazendo referência às informações em outras tabelas. Liste essas outras tabelas na cláusula FROM ou use uma subconsulta como parte da condição WHERE. As tabelas listadas na cláusula FROM podem ter aliases. Se você precisar incluir a tabela de destino da instrução UPDATE na lista, use um alias.

WHERE condição

Cláusula opcional que restringe atualizações em linhas que correspondem a uma condição. Quando a condição retorna como true, as colunas SET especificadas são atualizadas. A condição pode ser um predicado simples em uma coluna ou uma condição baseada no resultado de uma subconsulta.

Você pode nomear qualquer tabela na subconsulta, incluindo a tabela de destino para UPDATE.

Observações de uso

Depois de atualizar um grande número de linhas em uma tabela:

  • Limpe a tabela para recuperar espaço e reclassificar as linhas.

  • Analise a tabela para atualizar as estatísticas do planejador de consulta.

As junções esquerda, direita e externa completa não são compatíveis com a cláusula FROM de uma instrução UPDATE; elas retornam o seguinte erro:

ERROR: Target table must be part of an equijoin predicate

Se você precisar especificar uma junção externa, use uma subconsulta na cláusula WHERE da instrução UPDATE.

Se sua instrução UPDATE exigir uma junção automática à tabela de destino, você precisa especificar a condição de junção, além dos critérios da cláusula WHERE que qualificam as linhas à operação de atualização. Geralmente, quando ocorre uma junção dos próprios dados da tabela de destino ou com outra tabela, uma prática recomendada é usar uma subconsulta que separe claramente as condições de junção dos critérios que qualifiquem linhas para atualização.

Consultas UPDATE com várias correspondências por linha lançam um erro quando o parâmetro de configuração error_on_nondeterministic_update é definido como true. Para obter mais informações, consulte error_on_nondeterministic_update.

É possível atualizar uma coluna GENERATED BY DEFAULT AS IDENTITY. As colunas definidas como GENERATED BY DEFAULT AS IDENTITY podem ser atualizadas com os valores fornecidos. Para obter mais informações, consulte GENERATED BY DEFAULT AS IDENTITY.

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