Цикл через базы данных по серверу и данные обновления

У меня есть сервер с несколькими базами данных. Я должен циклично выполниться через эти базы данных и изменить значение в одной записи, в одной таблице, в каждой базе данных. Как это может быть сделано?

6
задан Curt 8 July 2010 в 17:28
поделиться

3 ответа

Вы можете использовать динамический SQL:

declare @query varchar(max)
set @query = ''

select  @query = @query + 'UPDATE ' + name + 
            '.dbo.YourTable set value = 1 where id = 2; '
from    master.sys.databases
where   name <> 'master'

exec (@query)
8
ответ дан 8 December 2019 в 05:19
поделиться
EXEC sp_MSForEachDB ' Use ?; UPDATE ?.dbo.MyTable SET MyValue=999  '
12
ответ дан 8 December 2019 в 05:19
поделиться

Существует недокументированная хранимая процедура sp_MSForEachDB, которая выполняет SQL для каждой базы данных.

EXEC sp_msforeachdb 'PRINT ''?'''

Значок? это имя базы данных.

3
ответ дан 8 December 2019 в 05:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: