La sentencia UPDATE permite modificar o actualizar un conjunto de registros de una tabla o vista dependiendo de una condición.
Sintaxis:
UPDATE TABLA
[SET] {column_name] = {expresion}
[WHERE <criterio>]
Donde:
- TABLA: Aquí se especifica el nombre de la tabla o vista que necesite ser actualizada
- SET: Aquí se especifica la lista de nombres de variables o de columnas que se actualizarán en una determinada tabla
- colum_name: Aquí se especifica la columna que desea actualizar, solo hay que tener en cuenta que no se pueden actualizar las columnas con restricciones de identidad IDENTITY
- expresion: Es una variable, un valor, una expresión o una instruccion de subconsulta que devuelve un solo valor. El valor devuelto sustituye al valor existente en colum_name. Los operadores válidos para una expresión son:
- += sumar y asignar
- -= restar y asignar
- *= multiplicar y asignar
- /= dividir y asignar
- WHERE: Especifica la o las condiciones que limitarán los valores que se actualizarán. Todo dependerá de la condición planteada, los operadores, dentro de la instrucción where dependerán del tipo de datos de la columna.
Para poder actualizar una tabla se tiene que tener algunas consideraciones
Consideraciones generales al actualizar registros
- Si la sentencia de actualización infringe una restricción, una regla o si el nuevo valor es de un tipo de datos incompatible al declarado en la tabla; se cancela la instrucción dando como resultado un mensaje de error y no actualiza ningun registro de la tabla
- La sentencia UPDATE es suceptible a errores aritméticos que podrá ser un error de desbordamiento o división por cero durante la evaluación de la expresión, la actualización no se lleva a cabo mostrando en este caso un mensaje de error y corta la actualización desde el punto de error; a diferencia del primer punto, éste si actualiza los registros hasta donde se ocasionó el error.
- Se puede implementar la sentencia UPDATE dentro de funciones definidas por el usuario, solo hay que tener en cuenta que la tabla que se va a modificar sea una variable de tipo TABLE
- Si en la actualización participan columnas con definicion de tipo char y nchar se rellenan con espacion vacíos a la derecha hasta la longitud definida en la tabla.
Ejemplo:
Script que permita actualizar los valores de la coumna IMPUESTO por el valor 16 a todos los registros de la tabla TARIFA
UPDATE TARIFA
SET IMPUESTO=16
GO
Vamos por pasos analizando linea a linea estas sentencias
La primera linea nos indica que vamos a realizar los cambios en la tabla TARIFA
La segunda línea nos indica que a campo impuesto le asignaremos el valor 16, al no tener instrucción WHERE se actualizarán todos los registros
Ejemplo 2:
Script que permita actualizar los valores de la columna IMPUESTO aumentando a 2 a todos los registros de la tabla TARIFA
UPDATE TARIFA
SET IMPUESTO +=2
GO.
Ejemplo 3:
Script que permita asignar el impuesto a cero, solo a los registros cuya CLASE sea ECONOMICO de a tabla TARIFA
Primero verificamos los datos de la tabla TARIFA
SELECT * FROM TARIFA
UPDATE TARIFA
SET IMPUESTO=0
WHERE CLASE='ECONOMICO'
GO
Hay que notar que la sentencia WHERE limita la actualización de los registros, haciendo los cambios solo a los registros que cumplan con dicha condición. Vamos a probar como quedo la tabla
SELECT *
FROM TARIFA
GO
Como podemos observar, el cambio se realizó correctamente mediante la sentencia UPDATE únicamente a la clase económica.
No hay comentarios.:
Publicar un comentario