Хранимая процедура SQL Server - укажите базу данных для использования - PullRequest
0 голосов
/ 06 ноября 2019

Мне поручено создать хранимую процедуру из написанного мной сценария, который будет обновлять таблицы с данными.

Поскольку я запускаю этот сценарий для базы данных dev и действующей базы данных, мы всегда вручную меняли USE DATABASE в сценарии перед запуском.

Я ищу способ использования USE DATABASE в хранимой процедуре.

Возможно ли это без создания двух хранимых процедур одного и того же сценариядля каждой базы данных (dev против live)?

1 Ответ

1 голос
/ 06 ноября 2019

Предполагается, что вы имеете в виду MS SQL Server. Вы не можете использовать USE ... в хранимой процедуре, но вы можете напрямую ссылаться на другую базу данных с полностью определенной нотацией объекта.

database.schema.objectname

Пример:

dev_mydb.dbo.MyTable

Обратите внимание, что если вам нужно, чтобы имя базы данных было переменным, вам нужно будет использовать динамический SQL для установки имени базы данных.

...