V Sql Server 2016, POKUD EXISTUJE, je nová volitelná klauzule zavedena ve stávajících DROP prohlášení. V podstatě kontroluje existenci objektu, pokud objekt existuje, klesne a pokud neexistuje, bude pokračovat v provádění dalšího příkazu v dávce. V podstatě se vyhýbá psaní, pokud je podmínka a v rámci podmínky psaní prohlášení pro kontrolu existence objektu.,
Syntaxe:
DROP OBJECT_TYPE OBJECT_NAME
, KDE: TYP_OBJEKTU, jako Tabulky, Procedury, View, Funkce, Databáze, Spoušť, Sestavy, Sekvence, Indexu atd.
POKUD EXISTUJE: je volitelná klauzule, a pokud to je uvedeno v prohlášení DROP pak zkontroluje existenci objektu, pokud existuje, bude to kapku jinak pokračuje v provádění dalšího příkazu v bloku, bez zvýšení jakýchkoli problémů.
pojďme pochopit tuto novou klauzuli, pokud existuje v příkazu DROP s rozsáhlým seznamem příkladů., Pro prokázání této klauzule nejprve vytvoříme ukázkovou databázi s tabulkou a uloženým postupem.
CREATE DATABASE SqlHintsDemoDBGOUSE SqlHintsDemoDBGOCREATE TABLE dbo.Customers (Id INT, Name Nvarchar(50))GOCREATE PROCEDURE dbo.WelcomeMessageASSELECT 'Welcome to Sql Server'GO
DROP Uložené Procedury, POKUD EXISTUJE
Jak zkontrolovat, zda existuje Uložené Procedury
V Sql Server 2016 můžeme napsat prohlášení, jako je níže k poklesu Uložené Procedury, pokud existuje.
DROP PROCEDURE IF EXISTS dbo.WelcomeMessage
Pokud uložená procedura neexistuje, že nebude získávat žádné chybě, bude pokračovat v provádění dalšího příkazu v dávce., Zkusme znovu zrušit uložený postup WelcomeMessage, který je již vynechán.
Z výsledku je jasné, že to nebudou zvyšovat žádné chybové pokud uložená procedura neexistuje, bude pokračovat v provádění dalšího příkazu v dávce.
v předchozích verzích Sql Serveru používáme příkaz jako níže k poklesu uloženého postupu, pokud existuje.,
IF EXISTS(SELECT 1 FROM sys.procedures WHERE Name = 'WelcomeMessage')BEGIN DROP PROCEDURE dbo.WelcomeMessageEND
můžete jít přes tento článek, Jak zkontrolovat, zda existuje Uložené Procedury vidět různé možnosti v předchozích verzích serveru Sql Server pro kontrolu existence Uložené Procedury.
DROP TABLE, POKUD EXISTUJE
Jak zkontrolovat, zda je Tabulka existuje,
V Sql Server 2016 můžeme napsat prohlášení, jako je níže k poklesu Tabulku, pokud existuje.,
DROP TABLE IF EXISTS dbo.Customers
Pokud tabulka neexistuje, že nebude získávat žádné chybě, bude pokračovat v provádění dalšího příkazu v dávce. Zkusme znovu spustit tabulku dbo.Zákazníci, kteří jsou již klesl.
Z výsledku je jasné, že to nebudou zvyšovat žádné chybové pokud Tabulka neexistuje, bude pokračovat v provádění dalšího příkazu v dávce.,
v předchozích verzích Sql Serveru používáme příkaz jako níže k poklesu tabulky, pokud existuje.
IF EXISTS(SELECT 1 FROM sys.Tables WHERE Name = N'Customers' AND Type = N'U')BEGIN DROP TABLE dbo.CustomersEND
můžete jít přes tento článek, Jak zkontrolovat, pokud Tabulka existuje, aby vidět různé možnosti v předchozích verzích serveru Sql Server pro kontrolu existence Tabulky.
DROP Databáze, POKUD EXISTUJE
Jak zkontrolovat, zda Databáze existuje,
V Sql Server 2016 můžeme napsat prohlášení jako níže přetažení Databáze, pokud existuje.,
USE MASTERGODROP DATABASE IF EXISTS SqlHintsDemoDB
Pokud Databáze neexistuje, že nebude získávat žádné chybě, bude pokračovat v provádění dalšího příkazu v dávce. Zkusme znovu spustit databázi Sqlhintsdemodb, která je již spuštěna.
Z výsledku je jasné, že to nebudou zvyšovat žádné chybové pokud Databáze neexistuje, bude pokračovat v provádění dalšího příkazu v dávce.,
v předchozích verzích Sql Serveru používáme příkaz jako níže k poklesu databáze, pokud existuje.
IF DB_ID('SqlHintsDemoDB') IS NOT NULLBEGIN DROP DATABASE SqlHintsDemoDBEND
můžete jít přes tento článek, Jak zkontrolovat, zda Databáze existuje, aby vidět různé možnosti v předchozích verzích serveru Sql Server, kontrola existence Databáze.,ISJSON Funkce v Sql Server 2016