Обновить представление SQL Server 2005 новым именем базы данных? - PullRequest
2 голосов
/ 05 января 2010

У меня есть приблизительно 100 представлений SQL, которые являются разновидностью этого:

select * from RTC.dbo.MyTable

... теперь мне нужно изменить имя таблицы RTC на другое. Вместо того, чтобы редактировать одно представление за раз, есть ли способ записать все их операторы drop / create в текстовый файл, чтобы я мог выполнить глобальную замену?

Ответы [ 2 ]

3 голосов
/ 05 января 2010

Я бы использовал PowerShell. Если вы не используете клиентские инструменты SQL 2008, установите их. Затем получите клиент PowerShell, добавьте зарегистрированные оснастки (достаточно информации о том, как это сделать), а затем используйте структуру каталогов, чтобы добраться до папки, представляющей ваши представления.

Затем запишите их, используя что-то вроде:

Get-ChildItems | % {$ _. Script ()}

Используйте ScriptOptions, чтобы указать ему использовать скрипт Alter.

И заменить «RTC». с новым именем базы данных ... и запустите их, используя sqlcmd.

PowerShell фактически становится действительно хорошим вариантом развертывания.

3 голосов
/ 05 января 2010

В SSMS щелкните правой кнопкой мыши базу данных, перейдите к Задачам и выберите там «Создать сценарии ...». Выберите «Представления», выберите виды, которые вы хотите экспортировать, экспортируйте.

...