I Sql Server 2016, om det finns är den nya frivilliga klausulen som infördes i den befintliga DROP-satsen. I grund och botten kontrollerar det objektets existens, om objektet existerar faller det och om det inte finns kommer det att fortsätta att utföra nästa uttalande i satsen. I grund och botten det undviker att skriva om villkor och inom om villkor skriva ett uttalande för att kontrollera förekomsten av objektet.,
Syntax:
DROP OBJECT_TYPE OBJECT_NAME
var: OBJECT_TYPE like Table, Procedure, View, Function, Database, Trigger, Assembly, Sequence, Index etc.
om det finns: det är en frivillig klausul och om det nämns i DROP-satsen kontrollerar den förekomsten av objektet, om det finns kommer det att släppa annars fortsätter att utföra nästa uttalande i blocket utan att ta upp några problem.
låt oss förstå denna nya IF finns klausul i drop uttalande med en omfattande lista med exempel., För att visa denna klausul låt oss först skapa en provdatabas med en tabell och en lagrad procedur.
CREATE DATABASE SqlHintsDemoDBGOUSE SqlHintsDemoDBGOCREATE TABLE dbo.Customers (Id INT, Name Nvarchar(50))GOCREATE PROCEDURE dbo.WelcomeMessageASSELECT 'Welcome to Sql Server'GO
släpp lagrad procedur om det finns
hur man kontrollerar om en lagrad procedur finns
I Sql Server 2016 kan vi skriva ett uttalande som nedan för att släppa en lagrad procedur om det finns.
DROP PROCEDURE IF EXISTS dbo.WelcomeMessage
om den lagrade proceduren inte finns kommer det inte att uppstå något fel, det kommer att fortsätta att utföra nästa uttalande i satsen., Låt oss försöka åter släppa den lagrade proceduren Välkomnameddelande som redan har tappats.
från resultatet är det uppenbart att det inte kommer att höja något fel om den lagrade proceduren inte existerar, det kommer att fortsätta att utföra nästa uttalande i satsen.
I tidigare versioner av Sql Server använder vi uttalande som nedan för att släppa den lagrade proceduren om det finns.,
IF EXISTS(SELECT 1 FROM sys.procedures WHERE Name = 'WelcomeMessage')BEGIN DROP PROCEDURE dbo.WelcomeMessageEND
du kan gå igenom artikeln Så här kontrollerar du om det finns en lagrad procedur för att se olika alternativ i tidigare versioner av Sql Server för att kontrollera om det finns en lagrad procedur.
DROP TABLE IF EXISTS
hur man kontrollerar om en tabell finns
I Sql Server 2016 kan vi skriva ett uttalande som nedan för att släppa en tabell om det finns.,
DROP TABLE IF EXISTS dbo.Customers
om tabellen inte finns kommer det inte att höja något fel, det kommer att fortsätta att utföra nästa uttalande i partiet. Låt oss försöka släppa bordet dbo igen.Kunder som redan har tappats.
från resultatet är det uppenbart att det inte kommer att höja något fel om tabellen inte existerar, det kommer att fortsätta att utföra nästa uttalande i satsen.,
I tidigare versioner av Sql Server använder vi sats som nedan för att släppa tabellen om det finns.
IF EXISTS(SELECT 1 FROM sys.Tables WHERE Name = N'Customers' AND Type = N'U')BEGIN DROP TABLE dbo.CustomersEND
du kan gå igenom artikeln Så här kontrollerar du om en tabell finns för att se olika alternativ i de tidigare versionerna av Sql Server för att kontrollera förekomsten av en tabell.
släpp Databas om det finns
hur man kontrollerar om en databas finns
I Sql Server 2016 kan vi skriva ett uttalande som nedan för att släppa en databas om det finns.,
USE MASTERGODROP DATABASE IF EXISTS SqlHintsDemoDB
om databasen inte finns kommer den inte att ge upphov till några fel, kommer den att fortsätta att utföra nästa uttalande i satsen. Låt oss försöka åter släppa databasen SqlHintsDemoDB som redan har tappats.
från resultatet är det uppenbart att det inte kommer att höja något fel om databasen inte finns, det kommer att fortsätta att utföra nästa uttalande i satsen.,
I tidigare versioner av Sql Server använder vi uttalande som nedan för att släppa databasen om det finns.
IF DB_ID('SqlHintsDemoDB') IS NOT NULLBEGIN DROP DATABASE SqlHintsDemoDBEND
du kan gå igenom artikeln Så här kontrollerar du om en databas finns för att se olika alternativ i tidigare versioner av Sql Server för att kontrollera om det finns en databas.,ISJSON funktion i Sql Server 2016