Мне было интересно, как лучше всего было бы запрашивать несколько баз данных в хранимой процедуре. Я могу жестко закодировать имена баз данных в хранимой процедуре т.е.:Каков наилучший способ запроса нескольких баз данных в хранимых процедурах в разных средах?
Select *
from [Audit].[dbo].[AuditTable] inner join
[Core].[dbo].[CoreTable]
on ....
Но я хотел бы хранить хранимые процедуры в системе управления версиями, а затем перенести их в различных средах. Поэтому мне было интересно, как это сделать. Имя базы данных отличается для разных сред.
Возможные решения:
- Использование представления для таблиц в охватить различными базами данных? Имя базы данных будет существовать только в одном месте
- Расширенные свойства для базы данных/передача имени в хранимую процедуру . Возможно динамическое изменение имени базы данных , используемой в хранимой процедуре: Changing database name in a stored procedure dynamically Но я беспокоюсь, что это будет беспорядочно
- Отдельные среды с одинаковым именем базы данных на всех окружениях ?
Кажется, что это дубликат: Cross-database queries with different DB names in different environments
Что вы провели до сих пор? Можете ли вы предоставить ссылки, чтобы показать, что вы исследовали, и указать, как каждый не поможет вам найти ответ? –