Problema Statement –
Attualmente una delle cose più irritanti in SQL, è quello di verificare esplicitamente se un oggetto esiste prima di rilasciarlo.
Durante la scrittura di uno script TSQL/stored procedure, ci sono state più volte in cui provo a rilasciare una colonna/tabella/trigger/indice/utente e ottenere il temuto messaggio di errore –
Nome oggetto non valido ‘object_name’
Questo messaggio di errore ti sembra familiare?,
Nuova sintassi in SQL Server 2016 –
Come parte dei miglioramenti TSQL, SQL Server 2016 introduce una nuova clausola –
DROP IF EXISTS che rilascia condizionalmente la colonna o il vincolo solo se esiste già.
Se l’oggetto non esiste, non genererà alcun errore e l’esecuzione TSQL continuerà.
DROP OBJECT_TYPE OBJECT_NAME
Questa sintassi appare molto semplice e pulita.,
Questa sintassi si applica ai Database, Tabella, Function, Trigger, Stored Procedure, Colonna, Utente, Vista, Schema, Indice , Ruolo
vediamo una dimostrazione per questa nuova sintassi —
in Primo luogo permette di creare una tabella di test e inserire alcuni record in esso –
Prima di SQL Server 2016, abbiamo sempre avuto a controllare in modo esplicito se l’oggetto esiste, e poi cadere. Ci sono un paio di modi in cui possiamo farlo., Tuttavia, con l’arrivo di SQL Server 2016, possiamo facilmente eseguire questa operazione con una semplice sintassi –
Possiamo anche sfruttare questa nuova istruzione per le nostre query DML, per eliminare colonne/vincoli, come richiesto., Vedi sotto —
ho caricato l’intero Script SQL, utilizzato per lo scopo di questo articolo, in questo link in GITHUB
Conclusione
Il DROP SE ESISTE è una semplice T-SQL Valorizzazione in SQL Server 2016, ma io sono sicuro che sarebbe uno dei più frequentemente utilizzati per la sintassi T-SQL developer giorno per giorno la vita.,
articoli Correlati su SQL Server 2016 –
- Dinamico maschere dei Dati in SQL Server 2016
- Tempo di Viaggio in SQL Server 2016 con Temporali Tabelle
- Built-in Supporto JSON in SQL Server 2016
- Confrontare i Piani di Esecuzione in SQL Server 2016
- Query Store in SQL Server 2016
- Vivere le Statistiche delle Query in SQL Server 2016