az Sql Server 2016-ban, ha létezik, az új opcionális záradék, amelyet a meglévő DROP utasítás vezet be. Alapvetően ellenőrzi az objektum létezését, ha az objektum létezik, akkor eldobja, és ha nem létezik, akkor folytatja a következő utasítás végrehajtását a tételben. Alapvetően elkerüli az írást, ha a feltételen belül van, ha a feltétel nyilatkozatot ír, hogy ellenőrizze az objektum létezését.,
szintaxis:
DROP OBJECT_TYPE OBJECT_NAME
ahol: OBJECT_TYPE mint táblázat, eljárás, nézet, funkció, Adatbázis, Trigger, összeszerelés, szekvencia, Index stb.
ha létezik: ez egy opcionális záradék, és ha szerepel a DROP nyilatkozatban, akkor ellenőrzi az objektum létezését, ha létezik, akkor csökken, különben folytatja a következő nyilatkozat végrehajtását a blokkban anélkül, hogy bármilyen problémát felvetne.
értsük meg ezt az új IF EXISTS záradékot a DROP nyilatkozatban, a példák széles listájával., Ennek a záradéknak a bemutatásához először hozzunk létre egy Mintaadatbázist egy táblázattal és egy tárolt eljárással.
CREATE DATABASE SqlHintsDemoDBGOUSE SqlHintsDemoDBGOCREATE TABLE dbo.Customers (Id INT, Name Nvarchar(50))GOCREATE PROCEDURE dbo.WelcomeMessageASSELECT 'Welcome to Sql Server'GO
csepp tárolt eljárás, ha létezik
Hogyan ellenőrizhető, hogy létezik-e tárolt eljárás
az Sql Server 2016-ban írhatunk egy nyilatkozatot, mint az alábbiakban, hogy eldobjuk a tárolt eljárást, ha létezik.
DROP PROCEDURE IF EXISTS dbo.WelcomeMessage
, Próbáljuk meg újra eldobni a tárolt eljárást WelcomeMessage ami már leesett.
az eredmény egyértelmű, hogy nem okoz hibát, ha a tárolt eljárás nem létezik, folytatja a következő utasítás végrehajtását a tételben.
az SQL Server korábbi verzióiban az alábbi utasításokat használjuk a tárolt eljárás leállításához, ha létezik.,
IF EXISTS(SELECT 1 FROM sys.procedures WHERE Name = 'WelcomeMessage')BEGIN DROP PROCEDURE dbo.WelcomeMessageEND
áttekintheti a cikket Hogyan lehet ellenőrizni, hogy létezik-e tárolt eljárás az SQL Server korábbi verzióinak különféle lehetőségeinek megtekintéséhez, hogy ellenőrizze a tárolt eljárás létezését.
DROP TABLE ha létezik
hogyan lehet ellenőrizni, hogy létezik-e tábla
az Sql Server 2016-ban írhatunk egy ilyen nyilatkozatot, hogy leadjunk egy táblázatot, ha létezik.,
DROP TABLE IF EXISTS dbo.Customers
Próbáljuk meg újra dobni az asztalt dbo.Az ügyfelek, amelyek már leesett.
az eredmény egyértelmű, hogy nem okoz hibát, ha a táblázat nem létezik, továbbra is végrehajtja a következő nyilatkozatot a tételben.,
az SQL Server korábbi verzióiban az alábbi utasításokat használjuk a táblázat leejtéséhez, ha létezik.
IF EXISTS(SELECT 1 FROM sys.Tables WHERE Name = N'Customers' AND Type = N'U')BEGIN DROP TABLE dbo.CustomersEND
átnézheti a cikket Hogyan lehet ellenőrizni, hogy létezik-e táblázat az SQL Server korábbi verzióinak különféle lehetőségeinek megtekintéséhez, hogy ellenőrizze a táblázat létezését.
DROP DataBase IF EXISTS
hogyan lehet ellenőrizni, hogy létezik-e Adatbázis
az Sql Server 2016-ban írhatunk egy ilyen nyilatkozatot, ha létezik Adatbázis.,
USE MASTERGODROP DATABASE IF EXISTS SqlHintsDemoDB
Próbáljuk meg újra eldobni az Sqlhintsdemodb adatbázist, amely már leesett.
az eredményből egyértelmű, hogy nem okoz hibát, ha az adatbázis nem létezik, továbbra is végrehajtja a következő nyilatkozatot a tételben.,
az SQL Server korábbi verzióiban az alábbi utasításokat használjuk az adatbázis eldobásához, ha létezik.
IF DB_ID('SqlHintsDemoDB') IS NOT NULLBEGIN DROP DATABASE SqlHintsDemoDBEND
áttekintheti a cikket Hogyan lehet ellenőrizni, hogy létezik-e adatbázis az SQL Server korábbi verzióinak különféle lehetőségeinek megtekintéséhez, hogy ellenőrizze az adatbázis létezését.,ISJSON funkció Sql Server 2016