MC, 07:21 czwartek, 02.08.2012 r.
Ilustracja do artykułu: SQL Server (T-SQL) - Sprawdzanie czy tabela istnieje w bazie

SQL Server (T-SQL) - Sprawdzanie czy tabela istnieje w bazie

Kolejna notatka dotycząca przydatnych zapytań SQL. Tym razem będzie to sposób na sprawdzenie, czy dana wskazana tabela istnieje w bazie danych.

Po co sprawdzać istnienie tabeli?

Wyobraźmy sobie sytuację, w której tworzymy skrypt SQL generujący tabele, przy czym zależy nam na usunięciu struktury, jeśli takowa istnieje. W takiej sytuacji należy sprawdzić czy interesująca tabela jest już obecna w bazie i od tego uzależnić dalsze poczynania. Taki skrypt może wyglądać podobnie do poniższego:
IF (EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'Schemat'
AND TABLE_NAME = 'NazwaTabeli'))
BEGIN
-- Kod do wykonania, w przypadku istnienia tabeli w bazie
END
Jak widać musimy podać zarówno nazwę tabeli jak i schematu w jakim należy jej szukać. Jeśli nie wiesz jaki to schemat, to polecam zajrzeć do powiązanych artykułów (poniżej).

Jeśli chcemy np. usunąć tabelę Klienci znajdującą się w schemacie DB, to modyfikując powyższą kwerendę otrzymamy:

IF (EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'DB'
AND TABLE_NAME = 'Klienci'))
BEGIN
DROP TABLE Klienci
END

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: