La sentencia UPDATE es una sentencia SQL que pertenece al grupo DML(Data Manipulation Language) «Lenguaje de manipulación de datos en español » la cual nos permite actualizar o modificar los registros de una tabla dependiendo de la condición que especifiquemos.

Ejemplos desarrollados al final

Sintaxis:

UPDATE 
Nombre_tabla SET Nombre_campo = Valor
WHERE condición1, condición2,...

DONDE:

  • nombre_tabla : Puede ser un alias

Consideraciones a tener en cuenta

  • Si no se especifica la cláusula WHERE dentro de la sentencia se actualizará toda la columna de datos.
UPDATE 
Nombre_tabla SET Nombre_campo = Valor
  • Cuando el tipo de dato es diferente al de la columna que se que quiere actualizar, la consulta retornará un mensaje de error.
UPDATE 
Nombre_tabla SET columna_numeric ="Texto" 
  • Al infringir una restricción de clave primaria durante la actualización de datos la consulta retornará un mensaje de error.
  • Al actualizar tablas con grandes volúmenes de datos el rendimiento de la base de datos puede verse afectado durante la actualización.
  • Si se desea actualizar una o más tablas se puede combinar con la sentencia SELECT.

Sentencia UPDATE combinada con sentencia SELECT

Cuando necesitamos actualizar una o más tablas o necesitamos poner varias condiciones, se debe combinar la sentencia UPDATE con la sentencia SELECT. Este es un proceso que debe realizarse con cuidado ya que si la sentencia SELECT está mal creada, como resultado la actualización de datos también estará incorrecta.

Ejemplo:

UPDATE VEN  SET VEN.TOTAL = VEN.SUBTOTAL + VEN.IMPUESTO
FROM VENTASDETALLE VEN
INNER JOIN PRODUCTOS PRO ON (VEN.ProductoID = PRO.ProductoID)
WHERE PRO.Precio > 0

CASOS DESARROLLADOS

TABLA VENTAS

IDCodigo_ClienteNombre_ClienteFecha_CompraSubtotalDescuentoImpuestoTotal
1C00001Juan Perez2020-01-01$500$40$50$510
6C00006Carmen Rocio2020-01-01$550$20$55$585
3C00003Hector Vargas2020-01-01$300$0$0$300
4C00004Susana Ruiz2020-01-01$120$0$0$120
7C00001Juan Perez2020-01-02$800$10$80$870
5C00005Luisa Delgado2020-01-02$500$0$50$550
2C00002Diego Veloz2020-01-02$550$45$55$560
8C00002Diego Veloz2020-01-03$100$10$10$100
9C00002Diego Veloz2020-01-03$200$10$0$190
10C00004Susana Ruiz2020-01-04$210$10$0$200

Caso desarrollado #1

Actualizar el valor de la columna DESCUENTO = 20 de todos los registros que tengan DESCUENTO=0 y volver a calcular el TOTAL de esos registros, la columna TOTAL deberá ser igual a TOTAL = SUBTOTAL + IMPUESTO – DESCUENTO.

Código SQL »

UPDATE VENTAS SET DESCUENTO = 20,
TOTAL=SUBTOTAL+IMPUESTO-DESCUENTO
WHERE DESCUENTO=0

Resultado »

IDCodigo_ClienteNombre_ClienteFecha_CompraSubtotalDescuentoImpuestoTotal
3C00003Hector Vargas2020-01-01$300$20$0$300
4C00004Susana Ruiz2020-01-01$120$20$0$120
5C00005Luisa Delgado2020-01-02$500$20$50$530

Etiquetado en:

,