Cómo eliminar la tabla de una base de datos sólo si ya existe (En 3 Pasos)

Por editorial team

Si utilizas una base de datos por bastante tiempo, probablemente llegará el momento en que quieras eliminar una tabla si ya existe. A menudo la razón por la que querrás hacer esto es porque necesitas crear una tabla y no quieres toparte con un error cuando intentas crearla debido a que el nombre de la tabla ya existe. Sea cual sea tu motivo, puedes eliminar una tabla existente en MySQL, Microsoft SQL y Oracle.

Paso 1

MySQL fue lo suficientemente amable al crear esta herramienta y hacer que sea sencillo eliminar una tabla existente. Para eliminar una tabla con un nombre no deseado " Drop_Me" ejecuta la siguiente búsqueda:

DROP TABLE IF EXISTS Drop_Me

(por sus términos en inglés, eliminar tabla si "Drop_me" ya existe).

Paso 2

Microsoft SQL hace que sea un poco más difícil eliminar una tabla si ya existe. Para lograr esto, necesitarás usar una frase If (condicional si) y la función EXISTS (existe):

IF EXISTS(SELECT 1 FROM sys.objects WHERE OBJECT_ID = OBJECT_ID(N'Drop_Me') AND type = (N'U')) DROP TABLE Drop_Me

(por sus términos en inglés, si existe(seleccionar 1 desde sys.objetcs donde object_id = object_id(N'Drop_Me") y escribe = (N'U')) eliminar tabla Drop_Me.

Paso 3

Oracle lleva la complejidad de eliminar una tabla existente a otro nivel. En esta codificación de muestra, necesitarás conocer el nombre del dueño de la tabla, que en este caso es "Me" (yo):

DECLARE v_count NUMBER :=0; BEGIN SELECT COUNT(*) INTO v_count FROM all_tables WHERE table_name='Drop_Me' AND owner='Me'; IF v_count = 1 THEN EXECUTE IMMEDIATE 'DROP TABLE Me.Drop_Me'; END IF; END;

(Por sus términos en inglés, DECLARAR v_count Número :=0; Comienza Selecciona COUNT(*) en v_count desde todas_tablas DONDE nombre_tabla='Drop_Me' y owner='Me'; Si v_count = 1 Entonces Ejecuta 'DROP TABLE Me.Drop_Me'; Terminar si; FIN;