UPDATE

Nombre

UPDATE  --  Substituye valores de columnas en una tabla

Synopsis

UPDATE tabla SET columna = expresión [, ...]
    [ FROM lista ]
    [ WHERE condición ]
  

Entradas

table

El nombre de una tabla existente.

columna

El nombre de la columna en tabla.

expresión

Una expresión válida o valor a ser asignado a la columna.

lista

Es una extensión no estándar de Postgres que permite la aparición de columnas de otras tablas en la condición WHERE.

condición

Consulte la cláusula SELECT para un descripción mas extensa de la cláusula WHERE.

Salidas

UPDATE #

Mensaje obtenido si ha habido éxito. El símbolo # representa el número de filas que han sido actualizadas. Si # es igual a 0, ninguna fila fue actualizada.

Descripción

UPDATE cambia el valor de la columnas especificadas por todas las filas que satisfacen la condición dada. Solamente necesita indicar las columnas que serán modificadas.

Para referencias a listas se usa la misma sintaxis de SELECT. O sea, puede substituir un único elemento de una lista, un rango de elementos o una lista completa con una única petición.

Debe tener permiso de escribir en la tabla para poder modificarla, así como permiso de lectura de cualquier tabla cuyos valores sean mencionados en la condición WHERE.

Uso

Para cambiar la palabra "Drama" por "Dramática" en la columna categoría:

UPDATE películas
    SET categoría = 'Dramática'
    WHERE categoría = 'Drama';
SELECT * FROM películas WHERE categoría = 'Dramático' OR categoría = 'Drama';

   code |título            |did|fecha_prod|categoría |durac
   -----+------------------+---+----------+----------+------
   BL101|El tercer hombre  |101|1949-12-23|Dramática | 01:44
   P_302|Becket            |103|1964-02-03|Dramática | 02:28
   M_401|La paz y la guerra|104|1967-02-12|Dramática | 05:57
   T_601|Yojimbo           |106|1961-06-16|Dramática | 01:50
   DA101|Das Boot          |110|1981-11-11|Dramática | 02:29
   

Compatibilidad

SQL92

SQL92 define una sintaxis diferente para la cláusula UPDATE:

UPDATE tabla SET columna = expresión [, ...]
    WHERE CURRENT OF cursor
    
donde cursor identifica un cursor abierto.