la instrucción DROP TABLE SQL permite eliminar una tabla de la base de datos. Si la tabla no existe, intentar soltarla causaría un error.

la instrucción SQL DROP TABLE IF EXISTS permite comprobar que la tabla existe antes de intentar eliminar (eliminar) la tabla. Si la tabla no existe, la instrucción DROP TABLE no se ejecuta, por lo que no se produce ningún error.,

sintaxis

la sintaxis puede diferir ligeramente dependiendo de la base de datos que esté ejecutando.

SQL Server

DROP TABLE TableName

DROP IF EXISTS solo está disponible a partir de SQL Server 2016 en adelante.

MySQL

DROP TABLE TableName

La Palabra clave temporal se puede usar en MySQL para especificar que solo se puede eliminar una tabla temporal.,

ejemplos de uso de DROP TABLE IF EXISTS

ejemplo 1 – eliminar una tabla usando DROP TABLE con la cláusula IF EXISTS

Ejemplo 2 – Error que se produce al usar DROP TABLE sin la cláusula IF EXISTS

-- if we attempt to DROP the table that we just created and dropped then we will get an errorDROP TABLE dbo.Country;

el error devuelto es: no se puede soltar la tabla ‘dbo.País’, porque no existe o no tiene permiso.,

Ejemplo 3-uso con tablas temporales en SQL Server

Ejemplo 4-Uso con tablas temporales en MySQL

-- temp table MySQLCREATE TEMPORARY TABLE Continent( Id INT PRIMARY KEY, Continent varchar(50));DROP TEMPORARY TABLE IF EXISTS Continent;

métodos alternativos para eliminar una tabla con una verificación exists

puede usar la INFORMATION_SCHEMA de la base de datos para realizar la misma funcionalidad. Este método es compatible con la mayoría de las bases de datos majore incluyendo SQL Server, MySQL, Oracle, PostGres, IBM DB2. INFORMATION_SCHEMA es compatible con ANSI SQL y está destinado a permitir la búsqueda de información de objetos de base de datos.,

IF EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'Country' AND TABLE_SCHEMA = 'dbo') DROP TABLE dbo.Country;

Si está ejecutando una versión de SQL Server anterior a SQL Server 2016, puede usar el siguiente método para lograr el mismo propósito que la tabla desplegable, si existe. Esto implica el uso de una sentencia IF en combinación con la función OBJECT_ID. El segundo parámetro de la función OBJECT_ID se pasa una ‘u’. Esto representa el tipo de objeto para comprobar y en este caso ‘u’ significa una ‘tabla definida por el Usuario’.,

conclusión

hemos visto en este artículo cómo el uso de la cláusula IF EXISTS con la instrucción DROP TABLE proporciona un método simple de una línea para verificar si una tabla existe antes de intentar su eliminación. El método DROP IF EXISTS también se puede usar con otros tipos de objetos de base de datos para permitir un enfoque coherente y fácil de escribir instrucciones de lenguaje de definición de datos (DDL) en el código SQL.,

si está ejecutando una plataforma de base de datos que no admite DROP IF EXISTS, hemos explorado un par de métodos alternativos que puede usar para lograr los mismos resultados, aunque de una manera menos concisa.

informar de este anuncio

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *