SQL

Cómo eliminar tablas en SQL Server con DROP TABLE

Estrada Web Group
jiestrada
Cómo eliminar tablas en SQL Server con DROP TABLE

Resumen: en este tutorial, aprenderás a usar la instrucción DROP TABLE de SQL Server para eliminar una o más tablas de una base de datos.

A veces, es necesario eliminar una tabla que ya no está en uso. Para hacer esto, usa la siguiente instrucción DROP TABLE:

DROP TABLE [IF EXISTS]  [database_name.][schema_name.]table_name;

En la sintaxis anterior encontramos lo siguiente:

  • Primero, especifica el nombre de la tabla que se eliminará.
  • En segundo lugar, especifica el nombre de la base de datos en la que se creó la tabla y el nombre del esquema al que pertenece la tabla. El nombre de la base de datos es opcional. Si lo omites, la instrucción DROP TABLE eliminará la tabla en la base de datos actualmente conectada.
  • En tercer lugar, utiliza la cláusula IF EXISTS para eliminar la tabla solo si existe. La cláusula IF EXISTS se admite desde SQL Server 2016 13.x. Si eliminas una tabla que no existe, obtendrás un error. La cláusula IF EXISTS elimina condicionalmente la tabla si ya existe.

Cuando SQL Server elimina una tabla, también elimina todos los datos, triggers, restricciones y permisos de esa tabla. Además, SQL Server no elimina explícitamente las vistas y los procedimientos almacenados que hacen referencia a la tabla eliminada. Por lo tanto, para descartar explícitamente estos objetos dependientes, debes utilizar la instrucción DROP VIEW y DROP PROCEDURE.

SQL Server permite eliminar varias tablas a la vez usando una sola instrucción DROP TABLE de la siguiente manera:

DROP TABLE [database_name.][schema_name.]table_name_1,
[schema_name.]table_name_2, …
[schema_name.]table_name_n;

Ejemplos de DROP TABLE de SQL Server

Veamos algunos ejemplos del uso de la instrucción DROP TABLE de SQL Server.

A) Eliminar una tabla que no existe

La siguiente declaración elimina una tabla denominada revenues en el esquema de sales de la base de datos de ejemplo:

DROP TABLE IF EXISTS sales.revenues;

En este ejemplo, la tabla revenues no existe. Debido a que se utiliza la cláusula IF EXISTS, la instrucción se ejecuta correctamente sin eliminar ninguna tabla.

B) Ejemplo de eliminar una sola tabla

La siguiente declaración crea una nueva tabla con CREATE TABLE denominada delivery en el esquema de sales:

CREATE TABLE sales.delivery (
    delivery_id INT PRIMARY KEY,
    delivery_note VARCHAR (255) NOT NULL,
    delivery_date DATE NOT NULL
);

Para eliminar la tabla de delivery, utilice la siguiente declaración:

DROP TABLE sales.delivery;

C) Eliminar una tabla con un ejemplo de restricción de clave externa

La siguiente declaración crea dos nuevas tablas denominadas supplier_groups y suppliers en el esquema de procurement:

CREATE SCHEMA procurement;
GO

CREATE TABLE procurement.supplier_groups (
    group_id INT IDENTITY PRIMARY KEY,
    group_name VARCHAR (50) NOT NULL
);

CREATE TABLE procurement.suppliers (
    supplier_id INT IDENTITY PRIMARY KEY,
    supplier_name VARCHAR (50) NOT NULL,
    group_id INT NOT NULL,
    FOREIGN KEY (group_id) REFERENCES procurement.supplier_groups (group_id)
);

Intentemos eliminar la tabla Supplier_groups:

DROP TABLE procurement.supplier_groups;

SQL Server regresa el siguiente error:

No se puede quitar el objeto 'procurement.supplier_groups'. Hay una referencia a él en una restricción FOREIGN KEY.

SQL Server no permite eliminar una tabla a la que hace referencia una restricción externa. Para eliminar esta tabla, primero debes eliminar la restricción de clave externa o la tabla de referencia. En este caso, primero debes eliminar la restricción de clave externa en la tabla de suppliers o en la tabla de suppliers antes de eliminar la tabla supplier_groups.

DROP TABLE procurement.supplier_groups;
DROP TABLE procurement.suppliers;

Si usas una sola instrucción DROP TABLE para eliminar ambas tablas, la tabla de referencia debe aparecer primero como se muestra en la consulta a continuación:

DROP TABLE procurement.suppliers, procurement.supplier_groups;

En este tutorial, has aprendido a usar la instrucción DROP TABLE de SQL Server para eliminar una o más tablas de una base de datos.

Compartir artículo:

Más artículos geniales

Cómo eliminar tablas en SQL Server con DROP TABLE

Cómo eliminar tablas en SQL Server con DROP TABLE

Resumen: en este tutorial, aprenderás a usar la instrucción DROP TABLE de SQL Server para eliminar una o más tablas de una base de datos.

Ver artículo completo
Cómo restringir que los valores de una columna sean únicos en SQL Server con UNIQUE

Cómo restringir que los valores de una columna sean únicos en SQL Server con UNIQUE

En este tutorial, aprenderás a utilizar la restricción UNIQUE de SQL Server para garantizar la integridad, precisión y confiabilidad de los datos contenidos en una columna o un grupo de columnas, es decir que no se repitan valores en una columna o en un conjunto de columnas.

Ver artículo completo
Cómo crear índices en SQL Server con la instrucción CREATE INDEX

Cómo crear índices en SQL Server con la instrucción CREATE INDEX

Resumen: en este tutorial, aprenderás a usar la instrucción CREATE INDEX de SQL Server para crear índices para tablas.

Ver artículo completo

Manténgase actualizado

Obtenga excelente contenido en su bandeja de entrada todas las semanas.
Solo contenido excelente, no compartimos su correo electrónico con terceros.
Subir al inicio de la pantalla ;