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

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
declare @int int
declare @kolbase int
declare @basename varchar(100)

set @int=6 --начальный номер баз
set @kolbase=6 --количество баз от 1 до @int включительно
while @int <=@kolbase 
begin
set @basename=N'dev'+cast(@int as varchar)

exec('use '+@basename);
print db_name(); --здесь всё равно другая база

set @int = @int+1
end
...
Рейтинг: 0 / 0
Не устанавливается текущая база в скрипте
    #39749006
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По сабжу:
Код: sql
1.
2.
3.
exec('use '+qoutename(@basename) + ';'
+ 'print db_name();'
);



Вообще, все, что вы написали, реализуется одной строкой:
Код: sql
1.
exec sp_msforeachdb 'if db_id() > 6 print db_name()'
...
Рейтинг: 0 / 0
Не устанавливается текущая база в скрипте
    #39749008
Фотография leonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевич,
мне же не просто надо вывести имена баз. там дальше будет куча когда для обработки баз.
Т.е. мне нужно установить текущую базу и дальше с ней работать.
А у меня после
exec('use '+@basename);
другая база (tempdb она установлена текущей в ssms)
...
Рейтинг: 0 / 0
Не устанавливается текущая база в скрипте
    #39749014
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И только из-за того, что у вас куча кода, должен измениться скоуп действия команды use?
...
Рейтинг: 0 / 0
Не устанавливается текущая база в скрипте
    #39749015
Фотография leonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Допуская что мой год вообще негодный.
Подскажите как перебрать несколько БД и с ними выполнить некие манипуляции.
...
Рейтинг: 0 / 0
Не устанавливается текущая база в скрипте
    #39749016
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
leonixДопуская что мой год вообще негодный.
Подскажите как перебрать несколько БД и с ними выполнить некие манипуляции.

Код: sql
1.
2.
3.
4.
5.
exec sp_msforeachdb 'if db_id() > 6 begin
  <некие манипуляции>
  <и еще некие манипуляции>
  <ну вы поняли>
end'
...
Рейтинг: 0 / 0
Не устанавливается текущая база в скрипте
    #39749035
Фотография leonix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей АлексеевичПо сабжу:
Код: sql
1.
2.
3.
exec('use '+qoutename(@basename) + ';'
+ 'print db_name();'
);



Вообще, все, что вы написали, реализуется одной строкой:
Код: sql
1.
exec sp_msforeachdb 'if db_id() > 6 print db_name()'



Спасибо! Попробую так сделать.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не устанавливается текущая база в скрипте
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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