Microsoft SQL Server
Upuść słowo kluczowe
Szukaj…
Wprowadzenie
Słowa kluczowego Drop można używać z różnymi obiektami SQL, ten temat zawiera szybkie przykłady różnych zastosowań z obiektami bazy danych.
Uwagi
Upuść tabele
Polecenie DROP TABLE usuwa definicje tabel i wszystkie dane, indeksy, wyzwalacze, ograniczenia i powiązane uprawnienia.
Przed upuszczeniem tabeli należy sprawdzić, czy istnieje jakiś obiekt (widoki, procedury składowane, inne tabele), który odwołuje się do tabeli.
Nie można upuścić tabeli, do której odwołuje się inna tabela za pomocą klucza OBCEGO. Najpierw musisz upuścić odnoszący się do niego klucz OBCY.
Można upuścić tabelę, do której odwołuje się widok lub procedura składowana, ale po upuszczeniu tabeli widok lub procedura przechowywana nie są już użyteczne.
Składnia
DROP TABLE [ IF EXISTS ] [ database_name . [ schema_name ] . | schema_name . ]
table_name [ ,...n ] [ ; ]
-
IF EXISTS
- upuść tabelę tylko wtedy, gdy istnieje -
database_name
- Podaj nazwę bazy danych, w której znajduje się tabela -
schema_name
- Podaj nazwę schematu, pod którym znajduje się tabela -
table_name
- Podaj nazwę tabeli do usunięcia
Przykłady
Usuń tabelę o nazwie TABLE_1 z bieżącej bazy danych i domyślnego schematu dbo
DROP TABLE Table_1;
Usuń tabelę z tabelą TABLE_1 z bazy danych HR i domyślnego schematu dbo
DROP TABLE HR.Table_1;
Usuń tabelę z tabelą TABLE_1 z bazy danych HR i schematu zewnętrznego
DROP TABLE HR.external.TABLE_1;
Upuść bazy danych
Polecenie DROP DATABASE usuwa katalog bazy danych, niezależnie od jego stanu (offline, tylko do odczytu, podejrzany itp.), Z bieżącej instancji programu SQL Server.
Nie można usunąć bazy danych, jeśli są z nią powiązane migawki, ponieważ migawki bazy danych muszą zostać najpierw usunięte.
Upuszczenie bazy danych usuwa wszystkie pliki dysku fizycznego (chyba że jest w trybie offline) używanym przez bazę danych, chyba że zostanie użyta procedura składowana „sp_detach_db”.
Upuszczenie migawki bazy danych usuwa migawkę z instancji SQL Server i usuwa również używane przez nią pliki fizyczne.
Usuniętą bazę danych można odtworzyć tylko poprzez przywrócenie kopii zapasowej (nie z migawki bazy danych).
Składnia
DROP DATABASE [ IF EXISTS ] { database_name | database_snapshot_name } [ ,...n ] [;]
-
IF EXISTS
- upuść tabelę tylko wtedy, gdy istnieje -
database_name
- określa nazwę bazy danych do usunięcia -
database_snapshot_name
- Określa migawkę bazy danych do usunięcia
Przykłady
Usuń pojedynczą bazę danych;
DROP DATABASE Database1;
Usuwanie wielu baz danych
DROP DATABASE Database1, Database2;
Usuwanie migawki
DROP DATABASE Database1_snapshot17;
Usuwanie, jeśli baza danych istnieje
DROP DATABASE IF EXISTS Database1;
Upuść tabele tymczasowe
W SQL Server mamy 2 rodzaje tabel tymczasowych:
-
##GlobalTempTable
to rodzaj tabeli tymczasowej, która jest dzielona między sesjami wszystkich użytkowników. -
#LocalTempTable
temp tab - jest to typ tabeli tymczasowej, która istnieje tylko w bieżącym zakresie (tylko w rzeczywistym procesie - identyfikator aktualnego procesu można uzyskać przezSELECT @@SPID
)
Proces usuwania tabel tymczasowych jest taki sam, jak w przypadku normalnej tabeli:
DROP TABLE [ database_name . [ schema_name ] . | schema_name . ] table_name
PRZED SQL Server 2016:
IF(OBJECT_ID('tempdb..#TempTable') is not null)
DROP TABLE #TempTable;
SQL Server 2016:
DROP TABLE IF EXISTS #TempTable