Jak zapewne już wiesz, nie możesz utworzyć tabeli w bazie danych, jeśli w bazie danych istnieje tabela o podobnej nazwie. Aby to przezwyciężyć, możesz sprawdzić, czy tabela istnieje, a jeśli prawda, upuść tabelę i utwórz nową tabelę.
W tym artykule dowiesz się, jak korzystać z operacji warunkowych SQL. Omówimy, jak sprawdzić, czy istnieje tabela, a jeśli prawda, upuść ją.
Wymagania
Testowaliśmy i wdrożyliśmy przykłady w instancji SQL Server w tym przewodniku. Jeśli chcesz odtworzyć podobne środowisko, upewnij się, że masz:
Po uzyskaniu określonych wymogów możemy kontynuować samouczek.
Podstawy
Zanim dowiemy się, jak dodać logikę warunkową przed upuszczeniem tabeli, zobaczmy, co się stanie, gdy spróbujesz upuścić nieistniejącą tabelę w bazie danych.
Rozważ przykładowe zapytanie poniżej:
Użyj SalesDB;Jeśli spróbujemy wykonać powyższe zapytanie, SQL Server zwróci błąd MSG 3701:
Logika warunku - metoda 1
Pierwszą metodą, której możesz użyć, gdy trzeba usunąć tabelę, jeśli istnieje, jest spadek, jeśli istnieje zapytanie. To zapytanie jest dostępne tylko w wersji SQL Server 2016 i wyższe.
Składnia jest jak:
Tabela upuszcza [jeśli istnieje] nazwa db_name.Schema_name.tbl_name;Zapytanie sprawdzi, czy tabela istnieje, a jeśli prawda, upuść ją; W przeciwnym razie zignoruj oświadczenie upuszczone.
Na przykład:
Użyj SalesDB;Jeśli istnieje tabela, SQL spróbuje go upuścić.
Pamiętaj, że SQL reguluje upuszczenie stołu, nawet podczas korzystania z kropli, jeśli istnieje zapytanie.
Metoda 2 - ID obiektu
Drugą metodą jest użycie funkcji obiektu_id (). Funkcja zwraca identyfikator obiektu, jeśli istnieje określona nazwa.
Poniższy przykładowy kod pokazuje, jak używać funkcji obiektu_id (), aby dodać logikę warunkową podczas usuwania tabeli.
Użyj SalesDB;Możesz dowiedzieć się więcej o funkcji Object_id () w poniższym zasobie:
SQL Server Object_id () Dokumenty funkcyjne.
Metoda 3 - Schemat informacji
Możemy również użyć schematu informacji SQL Server do zapytania, jeśli istnieje tabela. Przykładowe zapytanie jest jak pokazano poniżej:
Użyj SalesDB;W powyższym przykładzie używamy schematu informacji, aby sprawdzić, czy istnieje określona tabela.
Zamknięcie
Korzystając z tego przewodnika, odkryłeś różne sposoby dodawania logiki warunkowej podczas upuszczania tabeli na SQL Server. Dodanie instrukcji warunkowych umożliwia zapobieganie błędom w zautomatyzowanych skryptach SQL.