2.16. Atualizando Dados

O comando SQL UPDATE permite atualizar linhas de uma tabela. A sintaxe básica desse comando é a seguinte:

UPDATE nome-tabela SET coluna-1 = novo-valor [, coluna-2 = novo-valor] [ WHERE <expressão> ];

Dica

A sintaxe completa do comando de atualização de linhas pode ser vista no manual do PostgreSQL: UPDATE.

2.16.1. Exemplos

1. Alterando o número de créditos de todas as disciplinas para 04:

UPDATE disciplina SET creditos = 4;

Nota

Este comando é executado pelo PostgreSQL em uma única transação. Isso garante que somente após todas as linhas serem alteradas sem a ocorrência de erros, o resultado seja refletido de fato no banco de dados. Se durante a execução desse comando ocorrer um erro, por exemplo, como queda de energia, o servidor ao voltar a funcionar, irá preservar os valores antes desse comando.


2. Alterando o nome da disciplina Matemática para Matemática Avançada:

UPDATE disciplina
   SET titulo = 'Matemática Avançada'
 WHERE codigo = 1;

Nota

Neste exemplo, apenas a linha de código 1 na tabela disciplina é alterada.


3. Alterando a linha da disciplina Quimica:

Podemos usar uma notação onde especificamos a lista de colunas a serem alteradas e os novos valores:

UPDATE disciplina
   SET (titulo, creditos, professor_codigo) = ('Quimica Organiza', 3, 6)
 WHERE codigo = 4;

ou, utilizar pares coluna = valor:

UPDATE disciplina
   SET titulo = 'Quimica Organiza', creditos = 3, professor_codigo = 6
 WHERE codigo = 4;