Actualización de datos.
La sentencia UPDATE.
Para la actualización de datos SQL dispone de la sentencia UPDATE. La sentencia UPDATE permite la actualización de uno o varios registros de una única tabla. La sintaxis de la sentencia UPDATE es la siguiente
UPDATE <nombre_tabla> SET <campo1> = <valor1> {[,<campo2> = <valor2>,...,<campoN> = <valorN>]} [ WHERE <condicion>]; |
Las siguientes sentencias actualizan los datos de
la tabla tCoches con los valores de la tabla tMarca
obtenidos anteriormente en la página dedicada a la inserción de datos.
UPDATE tCoches SET marca = '1' WHERE marca = 'FORD'; UPDATE tCoches SET marca = '2' WHERE marca = 'RENAULT'; UPDATE tCoches SET marca = '3' WHERE marca = 'SEAT'; |
Notese que los valores para el campo marca aparecen entrecomillados, ya que es un campo de tipo varchar. Los valores con los que actualicemos los datos deben ser del tipo del campo.
Un aspecto a tener en cuenta es que los campos que forman la primary key de
una tabla sólo se podrán modificar si los registros no están
referenciados en ninguna otra tabla. En nuestro caso sólo podremos
modificar la matrícula de un coche si no tiene registros asociados en la
tabla tAlquileres.
Esto puede causar poblemas, ya que podríamos habernos
equivocado al dar de alta el coche en la tabla tCoches y detectar el
error despues de alquilar el coche. En tal caso tendríamos dar de alta
un nuevo coche con la matrícula correcta, actualizar los registros de la
tabla alquileres y por último borrar el registro erroneo de la tabla
tCoches. Este proceso puede ser bastante complicado en el caso de
que existiran más relaciones con la tabla. Se podría considerar que la
clave primaria de la tabla esta mal definida y que la matrícula no debe
ser el elemento que identifique el coche. Una alternativa seria crear un
código autonumérico para la tabla tCoches que realizará las veces de
clave primaria y crear un índice único para la matrícula, este diseño
tambien tiene sus "pegas", por lo que debemos decidir que modelo
utilizar, y seleccionar las claves primarias con sumo cuidado.
No hay comentarios:
Publicar un comentario