jueves, 1 de octubre de 2015

USO DEL COMANDO DELETE EN SQL SERVER

Buenas tardes queridos lectores, el día de hoy les mostraré como utilizar el comando DELETE que sirve para borrar los registros de una tabla.
La sintaxis correcta es la siguiente:

DELETE [TOP (EXPRESSION) [PERCENT]]
FROM TABLE
[WHERE {<condicion>}]

Donde:

  • TOP: Específica una muestra, en número o en porcentaje de registros posibles a eliminar
  • TABLE o VIEW: Aquí se específica el nombre de la tabla o vista que necesite ser actualizada
  • WHERE: Condiciona la eliminación de los registros que cumplan la eliminación
Consideraciones generales

  • La sentencia DELETE se puede bloquear cuando se ocasione un error de restricción FOREIGN KEY, es decir, se intenta eliminar registros que se encuentren asociados a otras tablas. En caso de encontrarse este error el motor de base de datos envía un error al usuario y no elimina ningún registro del script
  • Cuando la sentencia DELETE determina un error aritmético en su proceso el motor de base de datos cancela todo el proceso y encía un mensaje de error al usuario.
  • Tabién puede optar por la sentencia TRUNCATE TABLE cuando necesite eliminar todas las filas de una determinada tabla sin especificar la clausula WHERE. Eneste caso TRUNCATE usa menos recursos que DELETE, por tanto es mucho más rápida la transacción.

Pero basta ya de teoría empecemos con la práctica y los ejemplo:
Ejemplo1:
Script que permita eliminar todos los registros de la tabla AEROLINEA

DELETE AEROLINEA / TRUNCATE TABLE AEROLINEA

Ejemplo 2:
Script que permita eliminar el registro de la tabla PASAJERO cuyo IDPASAJERO sea P0010.

Primero comprobamos que el registro existe:
SELECT * FROM PASAJERO WHERE IDPASAJERO = 'P0010'


Observamos que el registro ahí aparece, ahora ejecutaremos la sentencia

DELETE FROM PASAJERO

WHERE IDPASAJERO='P0010'

Con esta consulta se ha borrado el registro. Sería exactamente lo mismo la siguiente consulta:

DELETE PASAJERO

WHERE IDPASAJERO='P0010'

Ejemplo 3:
Script que permita eliminar el registro de la tabla PASAJERO cuyo país sea ECUADOR usando subconsultas para el proceso.
Primero vamos a obtener cuales son los pasajeros que son de ECUADOR


SELECT * FROM PASAJERO
WHERE IDPAIS=(SELECT IDPAIS FROM PAIS WHERE PAIS='ECUADOR')
GO


Observamos que existen dos pasajeros que cumplen las condiciones, así que vamos a borrarlos con la sentencia DELETE

DELETE FROM PASAJERO
WHERE IDPAIS = (SELECT IDPAIS 
FROM PAIS
WHERE PAIS='ECUADOR')
GO

Bueno estimados lectores, espero que les haya servido de ayuda éste artículo, no olviden preguntar, compartir o darle clic a algún anuncio. Que tengan buena tarde



Banderas de Visitantes

Flag Counter