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

Linki do MSDN.

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:

  1. ##GlobalTempTable to rodzaj tabeli tymczasowej, która jest dzielona między sesjami wszystkich użytkowników.
  2. #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ć przez SELECT @@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


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow