TRANSACT SQL - Consultas de Modificación

Creado por David Miralpeix, Modificado el Fri, 16 Feb 2024 a las 12:24 PM por David Miralpeix

Consultas de Modificación

Las consultas de modificación no devuelven información, eliminan, insertan o modifican datos en las tablas especificadas.

 

Palabras claves utilizadas en una consulta de modificación:

 

DELETE: para el borrado de datos

INSERT: para la inserción de datos

UPDATE: para la modificación de datos

  • DELETE: se usa para la eliminación completa de registros o filas de una o más de las tablas. Una vez que se han eliminado los registros requeridos, no puede deshacer la operación.

 

Sintaxis básica:

DELETE FROM Tabla WHERE Condicion

Ejemplos:

DELETE FROM Pedidos_cli_lineas WHERE IdEstado =-1

en este ejemplo se eliminan todas las líneas de pedidos de cliente con estado anulado.

 

DELETE FROM Empleados_Datos WHERE FechaAlta <’20000101’

en este ejemplo se eliminara todos los empleados dados de alta con anterioridad al año 2000. Hay que tener presente que en estas consulta de eliminación si se omite la cláusula WHERE todos los registros de la serán borrados.

  • INSERT INTO: se usa para añadir uno o varios registros a una tabla determinada.

Sintaxis básica:

INSERT INTO Tabla (campo1, campo2, .., campoN) VALUES (valor1, valor2, ..., valorN)

para agregar un solo registro ó bien:

INSERT INTO Tabla (campo1, campo2, .., campoN) 
SELECT campo1, campo2, ..., campoN FROM Tablaorigen WHERE Condición

Para agregar los registro de una tabla que cumplan determinada condición.

Ejemplos:

INSERT INTO Empleados_Datos (IdEmpleado, Nombre, Comision)
VALUES (22,’Maria’,100)

En este ejemplo se agrega un nuevo empleado a la base de datos. Nótese que a pesar de que la tabla tiene muchos campos no es necesario proporcionarlos todos ya que en la mayoría de ellos o bien admiten nulos o bien tienen un valor por defecto asignado

  • UPDATE: se usa para la actualización de uno o varios campos de una tabla basándose o no en un determinado criterio. Si en estas consulta de actualización se omite la cláusula WHERE todos los registros de la tabla requerida serán actualizados.

Sintaxis Básica:

UPDATE Tabla SET Campo1=Valor1, Campo2=Valor2, ... CampoN=ValorN WHERE Condición

Ejemplos:

UPDATE Empleados_Datos SET Salario = Salario*1.1 

En este ejemplo a todos los empleados de nuestra base de datos se les modifica el salario aumentándolo en un 10 por cien.

UPDATE Listas_Precios_Cli_Art SET Precio=0 
WHERE Idlista=1 AND IdArticulo=’ArtRegalo’ AND DesdeFecha>’20060101’

En este ejemplo se modifica el precio a 0 de la lista de precios con identificador 1 para el artículo con descripción ArtRegalo del presente año.

Hay que tener en cuenta que las consultas Deleted, Insert y Update pueden generar errores debido a causas muy concretas, lo que impediría que se ejecutase la acción requerida. Las principales causas de error son las siguientes:

  • Se intenta eliminar o modificar un registro de una tabla que forma parte de una clave ajena o una regla de negocio programa en el trigger de la tabla.
  • Se intenta insertar valores nulos en campos de la tabla que no lo permiten.
  • Se intenta insertar registros en campos auto numéricos que se rellenan automáticamente
  • Se intenta insertar registros que violan la clave principal o ajena de la tabla provocando registros duplicados o inconsistencia de datos.

 

Ejemplos:

DELETE FROM Clientes_Sectores WHERE Sector=’Metal’

este ejemplo no produciría ninguna acción de borrado si en nuestra base de datos tenemos clientes que pertenecen al sector del metal ya que existe una clave ajena en la tabla que lo impide.

 

INSERT INTO Clientes_Sectores (Sector,DescripcionSec) VALUES(‘Metal’, ‘Sector del Metal’)

Este ejemplo no producirá ninguna acción de inserción si ya tenemos dado de alta en nuestra base de datos el sector del metal.

 

Es deseable que antes de ejecutar cualquier consulta de modificación sepamos que registros van a resultar modificados examinándolos primero con la consiguiente consulta de selección (utilizando la misma condición).

¿Le ha sido útil este artículo?

¡Qué bien!

Gracias por sus comentarios

¡Sentimos mucho no haber sido de ayuda!

Gracias por sus comentarios

¡Háganos saber cómo podemos mejorar este artículo!

Seleccione al menos una de las razones
Se requiere la verificación del CAPTCHA.

Sus comentarios se han enviado

Agradecemos su esfuerzo e intentaremos corregir el artículo