powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Удаление сразу нескольких таблиц.
7 сообщений из 7, страница 1 из 1
Удаление сразу нескольких таблиц.
    #32057165
Larvef
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос.
Как за один раз удалить все таблицы, возвращаемые следующим запросом?

select * from sysobjects WHERE type='U' AND name like 'forum1topic%'

Научите, пожалуйста.
...
Рейтинг: 0 / 0
Удаление сразу нескольких таблиц.
    #32057189
Фотография VVG_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если их не очень много - то так:

Код: plaintext
1.
2.
declare @str varchar( 8000 ) set @str=''
Select @str=@str+' drop table '+name from sysobjects WHERE type='U' AND name like 'forum1topic%' 
exec(@str)
...
Рейтинг: 0 / 0
Удаление сразу нескольких таблиц.
    #32057191
Larvef
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VVG
Спасибо!
А если много?
...
Рейтинг: 0 / 0
Удаление сразу нескольких таблиц.
    #32057202
Фотография VVG_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если в 8000 не помещается, тогда курсором только.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
declare c cursor static forward_only for select 'driop table '+name from sysobjects WHERE type='U' AND name like 'forum1topic%'
declare @str varchar( 200 )
open c
fetch next from c into @str
while @@fetch_status= 0  begin
 exec (@str)
 fetch next from c into @str
end
close c
deallocate c
...
Рейтинг: 0 / 0
Удаление сразу нескольких таблиц.
    #32057203
dkstranger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно и без курсора :)
declare @str varchar(8000)
declare @tbl varchar(75)

while exists(select name from sysobjects WHERE
type='U' AND name like 'forum1topic%' ) begin
Select @str=min(name) from sysobjects WHERE type='U' AND name like 'forum1topic%'
select @str='drop table '+@tbl
exec(@str)
end
...
Рейтинг: 0 / 0
Удаление сразу нескольких таблиц.
    #32057214
Фотография VVG_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно и без циклов

xp_cmdshell('bcp ....') в текстовый файл и потом xp_cmdshell('osql ....') его.
...
Рейтинг: 0 / 0
Удаление сразу нескольких таблиц.
    #32057230
Фотография akuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
delete sysobjects WHERE type='U' AND name like 'forum1topic%'
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Удаление сразу нескольких таблиц.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]