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