I s .l Server 2016, hvis der findes, er den nye valgfri klausul indført i den eksisterende DROP-erklæring. Grundlæggende kontrollerer det objektets eksistens, hvis objektet eksisterer, falder det det, og hvis det ikke findes, vil det fortsætte med at udføre den næste sætning i batchet. Grundlæggende undgår man at skrive hvis tilstand og inden for hvis tilstand skriver en erklæring for at kontrollere objektets eksistens.,
Syntax:
DROP OBJECT_TYPE OBJECT_NAME
HVOR: OBJECT_TYPE som Tabel, Procedure, Udsigt, Funktion, Database, Trigger -, Forsamlings -, Sekvens, Indeks osv.
hvis der findes: det er en valgfri klausul, og hvis den er nævnt i DROP-sætningen, kontrollerer den objektets eksistens, hvis den findes, vil den falde ellers fortsætter med at udføre den næste erklæring i blokken uden at rejse problemer.
lad os forstå denne nye, hvis der findes klausul i DROP-sætningen med en omfattende liste over eksempler., For at demonstrere denne klausul lad os først oprette en prøvedatabase med en tabel og en gemt Procedure.
CREATE DATABASE SqlHintsDemoDBGOUSE SqlHintsDemoDBGOCREATE TABLE dbo.Customers (Id INT, Name Nvarchar(50))GOCREATE PROCEDURE dbo.WelcomeMessageASSELECT 'Welcome to Sql Server'GO
DROP Lagret Procedure, HVIS der FINDES
Hvordan at kontrollere, om en Lagret Procedure, der eksisterer for
I Sql Server 2016 kan vi skrive en erklæring, som nedenfor for at slippe en Lagret Procedure, hvis der findes.
DROP PROCEDURE IF EXISTS dbo.WelcomeMessage
Hvis der er lagret procedure, der ikke eksisterer, vil det ikke gøre nogen fejl, vil det fortsætte med at udføre den næste sætning i partiet., Lad os prøve at droppe den lagrede procedure Velkommenbesked, der allerede er faldet.
Fra resultatet det er klart, at det ikke vil hæve nogen fejl, hvis den er lagret procedure, der ikke eksisterer, vil det fortsætte med at udføre den næste sætning i partiet.
i tidligere versioner af S .l Server bruger vi erklæring som nedenfor for at droppe den lagrede procedure, hvis den findes.,
IF EXISTS(SELECT 1 FROM sys.procedures WHERE Name = 'WelcomeMessage')BEGIN DROP PROCEDURE dbo.WelcomeMessageEND
Du kan gå gennem den artikel, Hvordan at kontrollere, om en Lagret Procedure, der eksisterer for at se forskellige muligheder i de tidligere versioner af Sql Server til at kontrollere for tilstedeværelsen af en Lagret Procedure.
DROP TABEL, HVIS der FINDES
Hvordan at kontrollere, om en Tabel, der eksisterer for
I Sql Server 2016 kan vi skrive en erklæring, som nedenfor for at slippe en Tabel, hvis der findes.,
DROP TABLE IF EXISTS dbo.Customers
Hvis tabellen ikke eksisterer, vil det ikke gøre nogen fejl, vil det fortsætte med at udføre den næste sætning i partiet. Lad os prøve at droppe bordet dbo igen.Kunder, der allerede er droppet.
Fra resultatet det er klart, at det ikke vil hæve nogen fejl, hvis den ikke eksisterer, vil det fortsætte med at udføre den næste sætning i partiet.,
i tidligere versioner af S .l Server bruger vi erklæring som nedenfor for at droppe tabellen, hvis den findes.
IF EXISTS(SELECT 1 FROM sys.Tables WHERE Name = N'Customers' AND Type = N'U')BEGIN DROP TABLE dbo.CustomersEND
du kan gennemgå artiklen Sådan kontrolleres, om der findes en tabel for at se forskellige indstillinger i de tidligere versioner af s .l Server for at kontrollere, om der findes en tabel.
DROP DataBase, HVIS der FINDES
Hvordan at kontrollere, om en Database, der eksisterer for
I Sql Server 2016 kan vi skrive en erklæring, som nedenfor for at slippe en DataBase, hvis der findes.,
USE MASTERGODROP DATABASE IF EXISTS SqlHintsDemoDB
Hvis Databasen ikke eksisterer, vil det ikke gøre nogen fejl, vil det fortsætte med at udføre den næste sætning i partiet. Lad os prøve at droppe databasen s .lhintsdemodb, som allerede er droppet.
Fra resultatet det er klart, at det ikke vil hæve nogen fejl, hvis den Database, der ikke eksisterer, vil det fortsætte med at udføre den næste sætning i partiet.,
i tidligere versioner af S .l Server bruger vi erklæring som nedenfor for at droppe databasen, hvis den findes.
IF DB_ID('SqlHintsDemoDB') IS NOT NULLBEGIN DROP DATABASE SqlHintsDemoDBEND
Du kan gå gennem den artikel, Hvordan at kontrollere, om en Database, der eksisterer for at se forskellige muligheder i de tidligere versioner af Sql Server til at kontrollere for tilstedeværelsen af en Database.,ISJSON Funktion i Sql Server 2016