problem uttalande –
För närvarande en av de mest irriterande saker i SQL, är att uttryckligen kontrollera om ett objekt finns innan släppa den.
När du skriver ett TSQL-skript / lagrat förfarande har det funnits flera gånger när jag försöker släppa en kolumn / tabell / trigger / index / användare och få det fruktade felmeddelandet –
ogiltigt objektnamn ’object_name’
ser det här felmeddelandet bekant ut för dig?,
ny syntax i SQL Server 2016 –
som en del av TSQL-förbättringarna introducerar SQL Server 2016 en ny klausul –
släpp om det finns som villkorligt släpper kolumnen eller begränsningen endast om den redan finns.
om objektet inte existerar kommer det inte att kasta något fel och TSQL-utförandet fortsätter.
släpp OBJECT_TYPE OBJECT_NAME
denna syntax ser väldigt enkel och ren ut.,
denna syntax gäller för – Databas, tabell, funktion, utlösare, lagrad procedur, kolumn, användare, Visa, Schema, Index , Roll
Låt oss titta på en demonstration för denna nya syntax —
först kan skapa en testtabell och infoga några poster i den –
innan SQL Server 2016 måste vi alltid uttryckligen kontrollera om objektet finns och sedan släppa det. – herr talman! Det finns några sätt på vilka vi kan göra detta., Men med ankomsten av SQL Server 2016 kan vi mycket enkelt utföra denna operation med en enkel syntax –
Vi kan också utnyttja detta nya uttalande till våra DML-frågor, för att släppa kolumner/begränsningar, efter behov., Se nedan —
Jag har laddat upp hela SQL –skriptet, som används för den här artikeln, i den här länken i GITHUB
slutsats-
droppen om det finns är en enkel T-SQL-förbättring i SQL Server 2016, men jag kan inte är säker på att det skulle vara en av de mest använda syntaxen i en T-SQL-utvecklarens dagliga liv.,
relaterade artiklar på SQL Server 2016 –
- dynamisk Datamaskering i SQL Server 2016
- tidsresor i SQL Server 2016 med tidsmässiga tabeller
- inbyggt JSON-stöd i SQL Server 2016
- jämför Exekveringsplaner i SQL Server 2016
- Frågebutik i SQL Server 2016
- Live Frågestatistik i SQL Server 2016