Come eliminare una tabella di database solo se esiste già

April 11

Se si utilizza un database abbastanza a lungo, probabilmente esegue in una situazione in cui si desidera eliminare una tabella se esiste. Spesso la ragione si vorrà fare questo è perché è necessario creare un tavolo e non si desidera incontrare un errore quando si tenta di creare perché una tabella con questo nome esiste già. Qualunque siano le vostre motivazioni possono essere, è possibile eliminare una tabella se già esiste in MySQL, Microsoft SQL e Oracle.

istruzione

1 MySQL è stato così gentile da rendere molto semplice per cadere una tabella esistente. Per eliminare la tabella purtroppo nome "Drop_Me", eseguire la seguente query:

DROP TABLE IF EXISTS Drop_Me

2 Microsoft SQL rende leggermente più difficile far cadere un tavolo se esiste. Per fare questo, è necessario utilizzare un'istruzione IF e la funzione esiste:

SE ESISTE (SELEZIONARE 1 DA DOVE sys.objects OBJECT_ID = OBJECT_ID (N'Drop_Me ') e di tipo = (N'U'))

DROP TABLE Drop_Me

3 Oracle prende la complessità di far cadere un tavolo se esiste al livello successivo. In questo pezzo di codice di esempio, è necessario conoscere il proprietario della tabella, che risulta essere "Me":

DICHIARARE

NUMERO v_count: = 0;

INIZIO

SELECT COUNT (*) FROM INTO v_count ALL_TABLES DOVE table_name = 'Drop_Me' e proprietario = 'Me';

SE v_count = 1 THEN

EXECUTE IMMEDIATE 'DROP TABLE Me.Drop_Me';

FINISCI SE;

FINE;

Consigli e avvertenze

  • Altri database probabilmente hanno una sintassi completamente diverso per far cadere un tavolo se esiste.
  • Assicurarsi che si vuole veramente eliminare la tabella prima di eseguire uno di questi comandi. Non verrà chiesta conferma.