Udostępnij za pośrednictwem


DROP tabela (języka Transact-SQL)

Usuwa jeden lub więcej definicje tabel i wszystkich danych, indeksów, wyzwalacze, ograniczenia i specyfikacje uprawnień dla tych tabel.Dowolnego widoku lub procedura przechowywana, która odwołuje się do tabela porzuconych musi jawnie zostanie usunięty przy użyciu USUWANIE WIDOKU or USUWANIE PROCEDURY.Aby zgłosić zależności dla tabela, należy użyć sys.dm_sql_referencing_entities.

DROP TABLE [ database_name . [ schema_name ] . | schema_name . ]
        table_name [ ,...n ] [ ; ]

Argumenty

  • database_name
    Jest nazwą bazy danych, w którym został utworzony w tabela.

  • schema_name
    To nazwa schematu, do której należy tabela.

  • table_name
    Jest nazwą tabela, która ma zostać usunięty.

Remarks

DROP tabela nie można upuścić tabela, do której odwołuje się ograniczenie klucz obcy.Odwołujący się ograniczenie klucz obcy lub tabela odwołujący się najpierw musi zostanie usunięty.W tej samej instrukcja DROP TABLE są są opuszczane odwołujący się tabelę i tabelę, która przechowuje klucz podstawowy, najpierw należy wymienić odwołujący się tabela.

Wiele tabel może być usunięty dowolnej bazy danych.Jeśli tabela jest zerwane odwołania do klucz podstawowy innej tabeli, która jest również zostanie usunięte, w odwołujący się tabela z klucz obcy muszą być umieszczone przed posiadających klucz podstawowy, które wystąpiło odwołanie do tabeli.

Po upuszczeniu tabela zasad lub ustawienia domyślne w tabela tracą ich wiązanie i wszelkie ograniczenia lub wyzwalacze skojarzone z tabelą są automatycznie usuwane.Po odtworzeniu tabela, musisz ponownie powiązać odpowiednie zasady i ustawienia domyślne, ponownie utwórz wszystkie wyzwalacze i dodać wszystkie wymagane ograniczenia.

W przypadku usunięcia wszystkich wierszy w tabeli przy użyciu DELETE tablename lub za pomocą instrukcja TABLE OBCIĘTA, tabela, istnieje dopóki nie zostanie usunięte.

Dużych tabel i indeksów, korzystające z więcej niż 128 zakresy są usunięte w dwóch oddzielnych faz: logicznych i fizycznych. W fazie logiczne istniejących jednostek alokacji używane przez tabela jest oznaczona do dezalokacji i zablokowana zatwierdza transakcję.W fazie fizyczne strony IAM oznaczony do dezalokacji są usuwane fizycznie w plikach wsadowych.Aby uzyskać więcej informacji zobaczDropping and Rebuilding Large Objects.

Jeśli upuścisz tabela zawierającą kolumna VARBINARY(MAX) z atrybut FILESTREAM nie zostaną usunięte wszystkie dane przechowywane w systemie plików.

Uprawnienia

Wymaga uprawnienia ALTER na schemacie, do której należy tabela, uprawnienie Kontrola w tabeli lub członkostwo w grupie db_ddladmin stała rola bazy danych.

Przykłady

A.Upuszczanie tabela w bieżącej bazie danych

W następującym przykładzie usunięto ProductVendor1 Tabela danych i indeksów z bieżącej bazy danych.

DROP TABLE ProductVendor1 ;

B.Upuszczanie tabela w innej bazie danych

W poniższym przykładzie spadnie SalesPerson2 Tabela w AdventureWorks Baza danych. W przykładzie może być wykonywany z każdej innej bazy danych w wystąpieniu serwera.

DROP TABLE AdventureWorks.dbo.SalesPerson2 ;

C.Upuszczanie tabela tymczasowa

W następującym przykładzie powoduje utworzenie tabela tymczasowa, sprawdza jego istnienia, obniży się go i ponownie testuje jego istnienia.