Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 что делает этот код? (небольшой)  [new]
Mih00010
Member

Откуда:
Сообщений: 25
declare @name nvarchar(128), @Rows int
declare Names cursor static for
select
table_name
from
INFORMATION_SCHEMA.TABLES
where
table_catalog = DB_NAME()
and table_name != 'dtproperties'
open Names
SET @Rows = @@Cursor_Rows

WHILE @Rows > 0
begin
FETCH Names Into @name
SET @Rows = @Rows - 1
declare @qt nvarchar(128)
set @qt = N'drop table +'+@name
exec sp_executesql @qt
end
close Names
deallocate Names
© ADirks
20 авг 13, 12:45    [14730164]     Ответить | Цитировать Сообщить модератору
 Re: что делает этот код? (небольшой)  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Mih00010,

Замените

exec sp_executesql @qt

на
PRINT @qt

и запустите.
20 авг 13, 12:49    [14730205]     Ответить | Цитировать Сообщить модератору
 Re: что делает этот код? (небольшой)  [new]
Mih00010
Member

Откуда:
Сообщений: 25
pkarklin, спасибо, только дело в том что этот код якобы что-то ускоряет в 1С )))
вот
spt_fallback_db
spt_fallback_dev
spt_fallback_usg
MSreplication_options
spt_values
spt_monitor
по запросу
select
table_name
from
INFORMATION_SCHEMA.TABLES
where
table_catalog = DB_NAME()
and table_name != 'dtproperties'
20 авг 13, 12:53    [14730242]     Ответить | Цитировать Сообщить модератору
 Re: что делает этот код? (небольшой)  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Mih00010
только дело в том что этот код якобы что-то ускоряет в 1С )))


Ссылку на первоисточник сего можно? И, результат запроса:

select
table_name
from
INFORMATION_SCHEMA.TABLES
where
table_catalog = DB_NAME()
and table_name != 'dtproperties' 


Шибко сильно будет зависеть от того, в контексте какой бд он запущен. Вы, например, показали результат его работы в бд master.

Сообщение было отредактировано: 20 авг 13, 12:59
20 авг 13, 12:59    [14730302]     Ответить | Цитировать Сообщить модератору
 Re: что делает этот код? (небольшой)  [new]
Mih00010
Member

Откуда:
Сообщений: 25
http://www.forum.mista.ru/topic.php?id=675887&page=2#(114)
20 авг 13, 13:04    [14730356]     Ответить | Цитировать Сообщить модератору
 Re: что делает этот код? (небольшой)  [new]
Mih00010
Member

Откуда:
Сообщений: 25
http://www.forum.mista.ru/topic.php?id=675887&page=2#114
20 авг 13, 13:04    [14730366]     Ответить | Цитировать Сообщить модератору
 Re: что делает этот код? (небольшой)  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
Mih00010
дело в том что этот код якобы что-то ускоряет в 1С )))
Ясно же!
Если удалить все таблицы, кроме одной,
то все процессы резко ускорятся!
20 авг 13, 13:17    [14730458]     Ответить | Цитировать Сообщить модератору
 Re: что делает этот код? (небольшой)  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Да уж, ну и посоветовали :-)
Хорошо хоть, с синтаксической ошибкой:

   set @qt = N'drop table +'+@name
20 авг 13, 13:36    [14730616]     Ответить | Цитировать Сообщить модератору
 Re: что делает этот код? (небольшой)  [new]
dfefef
Guest
Mih00010
declare @name nvarchar(128), @Rows int
declare Names cursor static for
select
table_name
from
INFORMATION_SCHEMA.TABLES
where
table_catalog = DB_NAME()
and table_name != 'dtproperties'
open Names
SET @Rows = @@Cursor_Rows

WHILE @Rows > 0
begin
FETCH Names Into @name
SET @Rows = @Rows - 1
declare @qt nvarchar(128)
set @qt = N'drop table +'+@name
exec sp_executesql @qt
end
close Names
deallocate Names
© ADirks


выделенное убило.

не проще будет?

declare @q nvarchar(max) = N'';

select @q += N'drop table ' + quotename(t.name) + N'; '
from sys.tables t
where t.name != N'dtproperties'

exec(@q);
20 авг 13, 13:47    [14730707]     Ответить | Цитировать Сообщить модератору
 Re: что делает этот код? (небольшой)  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
дропнуть базу ещё проще!
20 авг 13, 13:52    [14730763]     Ответить | Цитировать Сообщить модератору
 Re: что делает этот код? (небольшой)  [new]
Cygapb-007
Member

Откуда:
Сообщений: 1677
dfefef, намерения очевиднее, поэтому и не годится
20 авг 13, 14:21    [14730943]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить