✅ Explicação

A instrução UPDATE serve para alterar valores de uma ou mais colunas em uma ou várias linhas de uma tabela ou visão (view). Quando usada em uma view, atualiza a tabela base — a menos que exista um gatilho INSTEAD OF, que desvia o comportamento.

📌 Usos mais comuns

  • Atualizar linhas com base em uma condição (WHERE)

  • Atualizar uma linha específica com cursor

  • Atualizar valores usando subconsultas ou expressões

  • Aplicar atualizações diretas ou condicionais em lote

🧾 Sintaxe

🔹 Atualização pesquisada (Searched UPDATE)
UPDATE nome_tabela
   SET coluna1 = valor1,
       coluna2 = valor2,
       ...
 WHERE condição;
🔹 Atualização posicionada (usando cursor em programas COBOL)
UPDATE nome_tabela
   SET coluna1 = :variavel1,
       coluna2 = :variavel2
 WHERE CURRENT OF nome_cursor;

🧪 Exemplos práticos

Exemplo 1: Atualizando salário de todos os ANALISTAS
UPDATE EMPREGADOS
   SET SALARIO = SALARIO * 1.10
 WHERE CARGO = 'ANALISTA';
Exemplo 2: Atualizando com valores fixos
UPDATE EMPREGADOS
   SET CARGO = 'LÍDER', SALARIO = 8000
 WHERE ID = 1020;
Exemplo 3: Atualizando com cursor (em COBOL)
EXEC SQL
    DECLARE CUR_EMP CURSOR FOR
    SELECT ID FROM EMPREGADOS
     WHERE SALARIO < 2000
FOR UPDATE
END-EXEC.

EXEC SQL
    OPEN CUR_EMP
END-EXEC.

PERFORM UNTIL SQLCODE ≠ 0
    EXEC SQL
        FETCH CUR_EMP INTO :WS-ID
    END-EXEC

    IF SQLCODE = 0
        EXEC SQL
            UPDATE EMPREGADOS
               SET SALARIO = SALARIO + 500
             WHERE CURRENT OF CUR_EMP
        END-EXEC
    END-IF
END-PERFORM.

EXEC SQL
    CLOSE CUR_EMP
END-EXEC.

⚠️ Regras importantes

  • Cuidado com WHERE: se esquecer essa cláusula, TODAS as linhas da tabela serão atualizadas.

  • Você precisa do privilégio UPDATE na tabela ou nas colunas alteradas.

  • Para usar WHERE, também precisa de permissão SELECT.

  • Views só podem ser atualizadas se forem atualizáveis (ou se tiverem gatilhos INSTEAD OF definidos).

💡 Dicas

  • Use ROLLBACK e COMMIT estrategicamente em lote de atualizações.

  • Prefira atualizar por identificadores únicos (ID, chave primária).

  • Verifique se a tabela tem índices — isso melhora o desempenho nas atualizações com WHERE.

 

✅ Conclusão

O comando UPDATE é essencial para manter os dados vivos e atualizados em qualquer sistema. Seja ajustando salários, cargos ou corrigindo informações, dominar esse comando é obrigação pra quem trabalha com DB2 e SQL no dia a dia.