Come probabilmente già saprai, non è possibile creare una tabella in un database se esiste una tabella con un nome simile. Per ovviare a questo, puoi verificare se la tabella esiste e se vero, rilascia la tabella e crea una nuova tabella.
In questo articolo, imparerai come utilizzare le operazioni condizionali SQL. Discuteremo come verificare se esiste una tabella e, se vero, lasciarlo cadere.
Requisiti
Abbiamo testato e implementato gli esempi in un'istanza SQL Server in questa guida. Se vuoi riprodurre un ambiente simile, assicurati di avere:
Una volta che hai i requisiti specificati sopra, possiamo procedere con il tutorial.
Nozioni di base
Prima di imparare a aggiungere come aggiungere una logica condizionale prima di abbandonare una tabella, vediamo cosa succede quando si tenta di far cadere una tabella inesistente in un database.
Considera la query di esempio di seguito:
Usa SalesDB;Se proviamo a eseguire la query sopra, SQL Server restituirà un errore MSG 3701:
Logica della condizione - Metodo 1
Il primo metodo che puoi usare quando è necessario eliminare una tabella se esiste è la caduta se esiste una query. Questa query è disponibile solo nella versione SQL Server 2016 e superiore.
La sintassi è come:
Drop tabella [se esiste] db_name.Schema_name.tbl_name;La query verificherà se la tabella esiste e, se vera, lascerà la lascia cadere; Altrimenti, ignora la dichiarazione di drop.
Per esempio:
Usa SalesDB;Se esiste la tabella, SQL tenterà di lasciarlo cadere.
Ricorda che le regole SQL per la caduta di una tabella si applicano ancora, anche quando si utilizza la caduta se esiste una query.
Metodo 2 - ID oggetto
Il secondo metodo consiste nell'utilizzare la funzione Object_id (). La funzione restituisce un ID oggetto se esiste il nome specificato.
Il codice di esempio seguente mostra come utilizzare la funzione object_id () per aggiungere la logica condizionale durante l'eliminazione di una tabella.
Usa SalesDB;Puoi saperne di più sulla funzione Object_id () nella risorsa seguente:
SQL Server Object_id () Documenti di funzione.
Metodo 3 - Schema dell'informazione
Possiamo anche utilizzare lo schema di informazione SQL Server per interrogare se esiste una tabella. Una query di esempio è come mostrato di seguito:
Usa SalesDB;Nell'esempio sopra, utilizziamo lo schema informativo per verificare se esiste una tabella specificata.
Chiusura
Utilizzando questa guida, hai scoperto vari modi per aggiungere la logica condizionale quando si lascia cadere una tabella in SQL Server. L'aggiunta di dichiarazioni condizionali consente di prevenire errori negli script SQL automatizzati.