Exportar (0) Imprimir
Expandir Tudo
Expandir Minimizar
Este artigo foi traduzido manualmente. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

DROP TABLE (Transact-SQL)

Remove uma ou mais definições de tabela e todos os dados, índices, gatilhos, restrições e especificações de permissão dessas tabelas. Qualquer exibição ou procedimento armazenado que faça referência à tabela descartada deverá ser descartado explicitamente utilizando-se DROP VIEW ou DROP PROCEDURE. Para relatar as dependências em uma tabela, use sys.dm_sql_referencing_entities.

Aplica-se a: SQL Server (SQL Server 2008 até a versão atual), Banco de dados SQL do Windows Azure (versão inicial até a versão atual).

Ícone de vínculo de tópico Convenções da sintaxe Transact-SQL

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

database_name

É o nome do banco de dados no qual a tabela foi criada.

O Banco de Dados SQL do Windows Azure oferece suporte ao formato de nome de três partes database_name.[schema_name].object_name quando o database_name é o banco de dados atual ou o database_name é tempdb e o object_name começa com #. O Banco de Dados SQL do Windows Azure não oferece suporte a nomes de quatro partes.

schema_name

É o nome do esquema ao qual a tabela pertence.

table_name

É o nome da tabela a ser removida.

DROP TABLE não pode ser usado para descartar uma tabela que é referenciada por uma restrição FOREIGN KEY. A restrição FOREIGN KEY que faz referência ou a tabela de referência deve ser primeiramente descartada. Se a tabela de referência e a tabela que contém a chave primária forem descartadas na mesma instrução DROP TABLE, a tabela de referência deverá ser listada em primeiro lugar.

Podem ser descartadas várias tabelas em qualquer banco de dados. Se uma tabela que está sendo descartada fizer referência à chave primária de outra tabela que também está sendo descartada, a tabela de referência com a chave estrangeira deverá ser listada antes da tabela que contém a chave primária que está sendo referenciada.

Quando uma tabela for descartada, as regras ou os padrões da tabela perderão sua associação e quaisquer restrições ou gatilhos associados à tabela serão descartados automaticamente. Se você recriar uma tabela, deverá associar novamente as regras e padrões apropriados, recriar quaisquer gatilhos e adicionar todas as restrições necessárias.

Se excluir todas as linhas de uma tabela usando DELETE tablename ou usar a instrução TRUNCATE TABLE, a tabela existirá até que ela seja descartada.

Tabelas e índices grandes que usem mais de 128 extensões são descartados em duas fases separadas: a fase lógica e a física. Na fase lógica, as unidades de alocação existentes usadas pela tabela são marcadas para desalocação e bloqueadas até que a transação seja confirmada. Na fase física, as páginas IAM marcadas para desalocação são descartadas fisicamente em lotes.

Se você descartar uma tabela que contém uma coluna VARBINARY(MAX) com o atributo FILESTREAM, os dados armazenados no sistema de arquivos não serão removidos.

Observação importante Importante

DROP TABLE e CREATE TABLE não devem ser executados na mesma tabela no mesmo lote. Caso contrário, poderá ocorrer um erro inesperado.

Requer permissão ALTER no esquema ao qual a tabela pertence, permissão CONTROL na tabela ou associação na função de banco de dados fixa db_ddladmin.

A.Descartando uma tabela no banco de dados atual

O exemplo a seguir remove a tabela ProductVendor1 e seus dados e índices do banco de dados atual.

DROP TABLE ProductVendor1 ;

B.Descartando uma tabela em outro banco de dados

O exemplo a seguir descarta a tabela SalesPerson2 no banco de dados AdventureWorks2012 . O exemplo pode ser executado a partir de qualquer banco de dados na instância do servidor.

DROP TABLE AdventureWorks2012.dbo.SalesPerson2 ;

C.Descartando uma tabela temporária

O exemplo a seguir cria uma tabela temporária, testa sua existência, descarta a mesma e testa novamente sua existência.

CREATE TABLE #temptable (col1 int);
GO
INSERT INTO #temptable
VALUES (10);
GO
SELECT * FROM #temptable;
GO
IF OBJECT_ID(N'tempdb..#temptable', N'U') IS NOT NULL 
DROP TABLE #temptable;
GO
--Test the drop.
SELECT * FROM #temptable;

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2014 Microsoft