UPDATE

Nome

UPDATE -- atualiza linhas de uma tabela

Sinopse

UPDATE [ ONLY ] tabela SET coluna = { expressão | DEFAULT } [, ...]
    [ FROM lista_do_from ]
    [ WHERE condição ]

Descrição

O comando UPDATE muda os valores das colunas especificadas em todas as linhas que satisfazem a condição. Somente as colunas a serem modificadas precisam ser mencionadas na cláusula SET; as colunas que não são modificadas explicitamente mantêm seus valores anteriores.

Por padrão, o comando UPDATE atualiza linhas na tabela especificada e nas suas tabelas descendentes. Se for desejado atualizar apenas a tabela especificada, deve ser utilizada a cláusula ONLY.

É necessário possuir o privilégio UPDATE na tabela para atualizá-la, assim como o privilégio SELECT em todas as tabelas cujos valores são lidos pela expressão ou pela condição.

Parâmetros

tabela
O nome (opcionalmente qualificado pelo esquema) da tabela a ser atualizada.
coluna
O nome de uma coluna da tabela.
expressão
Uma expressão a ser atribuída à coluna. A expressão pode usar o valor antigo desta e de outras colunas da tabela.
DEFAULT
Define o valor da coluna como o seu valor padrão (que é nulo se nenhuma expressão padrão específica tiver sido atribuída à coluna).
lista_do_from
Uma lista de expressões de tabela, podendo aparecer colunas de outras tabelas na condição WHERE e nas expressões de atualização.
condição
Uma expressão que retorna um valor do tipo boolean. Somente são atualizadas as linhas para as quais esta expressão retorna true.

Saídas

Ao terminar bem-sucedido, o comando UPDATE retorna uma linha de fim de comando na forma

UPDATE contador

O contador é o número de linhas atualizadas. Se contador for 0, nenhuma linha corresponde à condição (o que não é considerado um erro).

Exemplos

Mudar a palavra Drama para Dramático na coluna tipo da tabela filmes:

UPDATE filmes SET tipo = 'Dramático' WHERE tipo = 'Drama';

Ajustar as entradas de temperatura e redefinir a precipitação com seu valor padrão em uma linha da tabela clima:

UPDATE clima SET temp_min = temp_min+1, temp_max = temp_min+15, precipitacao = DEFAULT
  WHERE cidade = 'São Francisco' AND data = '2003-07-03';

Compatibilidade

Este comando está em conformidade com o padrão SQL, exceto pela cláusula FROM que é uma extensão do PostgreSQL.

SourceForge.net Logo