2.1. UPDATE

En determinadas situaciones puede ser deseable cambiar un valor dentro de una tupla, sin cambiar todos los valores de la misma. Para ello se utiliza el comando UPDATE cuya sintaxis se muestra a continuación.

UPDATE tabla SET columna = expresión + [WHERE condición

Se especificará en la cláusula SETlas columnas que se actualizarán y con qué valores. La cláusula WHERE indica las filas con las que se va a trabajar, sin la cláusula WHERE la actualización afectará a todas las filas de la tabla.

Si se desea actualizar a nulos, se asignará el valor NULL.

UPDATE cliente SET observaciones = NULL;

Por ejemplo, cambie el nombre del departamento Credito por Crédito.

UPDATE Departamento SET nombre = 'Crédito' WHERE nombre = 'Credito';

La clausula WHERE permite SELECT anidados como en el caso del INSERT o el DELETE.

SQL ofrece el constructor CASE, que puede usarse para formular actualizaciones dependientes. Por ejemplo;

CREATE TABLE jugadores(
  numero        NUMBER(3),
  idEquipo      NUMBER(3),
  nombreJugador CHAR(40),
  posicion      CHAR(4),
  jj            NUMBER(2),
  jc            NUMBER(2),
  jt            NUMBER(2),
  ec            NUMBER(2),
  sc            NUMBER(2),
  minutos       NUMBER(6),
  gol           NUMBER(4),
  ppg           NUMBER(2),
  tr            NUMBER(2),
  ta            NUMBER(2)
); 

CREATE TABLE juegoLimpio (
 numero   NUMBER(3),
 idEquipo NUMBER(3),
 nombre   CHAR(45),
 juega    CHAR(15)
);

INSERT INTO juegoLimpio (numero, idEquipo, nombre,juega)
SELECT numero, idEquipo,, nombreJugador,(ta+tr) FROM jugadores;

UPDATE juegoLimpio SET juega = CASE
WHEN juega = '0' THEN 'Limpio' ELSE 'Sucio'
END;

SELECT * FROM juegoLimpio;