w Sql Server 2016, JEŚLI ISTNIEJE, jest nowa opcjonalna klauzula wprowadzona w istniejącej instrukcji DROP. Zasadniczo sprawdza istnienie obiektu, jeśli obiekt istnieje, To Go upuszcza, a jeśli nie istnieje, kontynuuje wykonywanie następnej instrukcji w partii. Zasadniczo unika pisania warunku if I wewnątrz warunku if napisania instrukcji w celu sprawdzenia istnienia obiektu.,

składnia:

DROP OBJECT_TYPE OBJECT_NAME

gdzie: OBJECT_TYPE jak tabela, procedura, Widok, funkcja, baza danych, WYZWALACZ, montaż, Sekwencja, indeks itp.

JEŚLI ISTNIEJE: jest to klauzula opcjonalna i jeśli jest wymieniona w instrukcji DROP, to sprawdza istnienie obiektu, jeśli istnieje, to drop w przeciwnym razie kontynuuje wykonywanie następnej instrukcji w bloku bez powodowania żadnych problemów.

pozwól nam zrozumieć tę nową klauzulę IF EXISTS w instrukcji DROP z obszerną listą przykładów., Aby zademonstrować tę klauzulę, najpierw stwórzmy przykładową bazę danych z Tabelą i procedurą składowaną.

CREATE DATABASE SqlHintsDemoDBGOUSE SqlHintsDemoDBGOCREATE TABLE dbo.Customers (Id INT, Name Nvarchar(50))GOCREATE PROCEDURE dbo.WelcomeMessageASSELECT 'Welcome to Sql Server'GO

upuść procedurę składowaną, jeśli istnieje

Jak sprawdzić, czy procedura składowana istnieje

w Sql Server 2016 możemy napisać instrukcję jak poniżej, aby upuścić procedurę składowaną, jeśli istnieje.

DROP PROCEDURE IF EXISTS dbo.WelcomeMessage

jeśli procedura składowana nie istnieje, nie spowoduje żadnego błędu, będzie kontynuować wykonywanie następnej instrukcji w partii., Spróbujmy ponownie upuścić procedurę składowaną WelcomeMessage, która już została upuszczona.

z wyniku wynika, że procedura składowana nie spowoduje żadnego błędu, jeśli procedura składowana nie istnieje, kontynuuje wykonywanie następnej instrukcji w partii.

w poprzednich wersjach SQL Server używamy instrukcji jak poniżej, aby upuścić procedurę składowaną, jeśli istnieje.,

IF EXISTS(SELECT 1 FROM sys.procedures WHERE Name = 'WelcomeMessage')BEGIN DROP PROCEDURE dbo.WelcomeMessageEND

możesz przejrzeć artykuł Jak sprawdzić, czy istnieje procedura składowana, aby zobaczyć różne opcje w poprzednich wersjach Sql Server, aby sprawdzić istnienie procedury składowanej.

upuść tabelę, jeśli istnieje

Jak sprawdzić, czy tabela istnieje

w Sql Server 2016 możemy napisać instrukcję, jak poniżej, aby upuścić tabelę, jeśli istnieje.,

DROP TABLE IF EXISTS dbo.Customers

jeśli tabela nie istnieje, nie spowoduje żadnego błędu, będzie kontynuować wykonywanie następnej instrukcji w partii. Spróbujmy ponownie zrzucić tabelę dbo.Klientów, które już zostały odrzucone.

z wyniku wynika, że nie spowoduje błędu, jeśli tabela nie istnieje, będzie kontynuować wykonywanie następnej instrukcji w partii.,

w poprzednich wersjach Sql Server używamy instrukcji jak poniżej, aby upuścić tabelę, jeśli istnieje.

IF EXISTS(SELECT 1 FROM sys.Tables WHERE Name = N'Customers' AND Type = N'U')BEGIN DROP TABLE dbo.CustomersEND

możesz przejrzeć artykuł Jak sprawdzić, czy istnieje tabela, aby zobaczyć różne opcje w poprzednich wersjach Sql Server, aby sprawdzić istnienie tabeli.

upuść bazę danych, jeśli istnieje

Jak sprawdzić, czy baza danych istnieje

w Sql Server 2016 możemy napisać instrukcję jak poniżej, aby upuścić bazę danych, jeśli istnieje.,

USE MASTERGODROP DATABASE IF EXISTS SqlHintsDemoDB

jeśli Baza Danych nie istnieje, nie spowoduje żadnego błędu, będzie kontynuować wykonywanie następnej instrukcji w partii. Spróbujmy ponownie upuścić bazę danych Sqlhintsdemodb, która jest już upuszczona.

z wyniku wynika, że nie spowoduje błędu, jeśli baza danych nie istnieje, będzie kontynuować wykonywanie następnej instrukcji w partii.,

w poprzednich wersjach Sql Server używamy instrukcji jak poniżej, aby upuścić bazę danych, jeśli istnieje.

IF DB_ID('SqlHintsDemoDB') IS NOT NULLBEGIN DROP DATABASE SqlHintsDemoDBEND

możesz przejrzeć artykuł Jak sprawdzić, czy istnieje baza danych, aby zobaczyć różne opcje w poprzednich wersjach Sql Server, aby sprawdzić istnienie bazy danych.,Funkcja ISJSON w SQL Server 2016

  • funkcja JSON_VALUE w SQL Server 2016
  • funkcja Json_query w SQL Server 2016
  • tryby lax i strict JSON Path W Sql Server 2016
  • Strategia indeksowania wartości JSON w SQL Server 2016
  • DROP IF EXISTS Instrukcja w SQL Server 2016
  • porównaj plany wykonania w Sql Server 2016
  • statystyki zapytań na żywo w SQL Server 2016
  • funkcja datediff_big w SQL Server 2016
  • różnica między funkcjami datediff i DATEDIFF_BIG w SQL Server
  • session_context w Sql Server 2016
  • Articles

    Dodaj komentarz

    Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *