tags:

views:

1642

answers:

3

Would the following sql remove also the index or does it have to be removed seperately?

CREATE TABLE #Tbl (field int)

CREATE NONCLUSTERED INDEX idx ON #Tbl (field)

DROP TABLE #Tbl

+3  A: 

It will be removed automatically, as there is nothing left to index. Think of it as a child object in this respect.

Nick Craver
+6  A: 

Yes they are. You can search in MSSQL help for CREATE INDEX article it is said there:

"Indexes can be created on a temporary table. When the table is dropped or the session ends, all indexes and triggers are dropped."

sdkpoly
+1  A: 

The drop table will remove the index. Drop Index takes the index name and the table name.

In this case would be DROP INDEX idc ON #tbl

which can be called if you want to drop the index but leave the table.

James Boother