Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS SQL Server > Удалить все базы не зная их названия


Автор: Iren21 15.12.2010, 14:17
Подскажите как можно в SQL удалить все базы не зная их названия?

Автор: Akina 15.12.2010, 14:24
Код

Select *
From sysdatabases
Where Name not in 
(
  'master'
, 'model'
, 'msdb'
, 'mssqlweb'
, 'tempdb'
)

Автор: Iren21 15.12.2010, 14:55
А как их удалить потом?

Автор: Akina 15.12.2010, 15:04
Цель? нагадить кому-то?

Автор: Iren21 15.12.2010, 15:18
Да не, это мне по работе необходимо.

Часто приходится удалять базы и надоело это делать вручную....

Автор: Akina 15.12.2010, 15:24
Ну раз приходится работать с БД - http://msdn.microsoft.com/en-us/library/ms130214.aspx.

Автор: A5uKa 15.12.2010, 15:39
Цитата(Iren21 @ 15.12.2010,  14:55)
А как их удалить потом?

Код

SELECT TABLE_NAME INTO #listtables  FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE' 
DECLARE listtables_Cursor CURSOR FOR SELECT TABLE_NAME FROM #listtables 
OPEN listtables_Cursor
FETCH NEXT FROM listtables_Cursor into @objname
WHILE(@@FETCH_STATUS = 0) 
BEGIN
   SELECT @execstring='DROP TABLE '+@objname 
   EXEC(@execstring)
   FETCH NEXT FROM listtables_Cursor into @objname
END
CLOSE listtables_Cursor
DEALLOCATE listtables_Cursor

Автор: Iren21 16.12.2010, 09:59
СПасибо )

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)