SQL Server: избегая жесткого кодирования имени базы данных в представлениях между базами данных

Итак, допустим, у вас есть две базы данных SQL Server на одном сервере, которые ссылаются на таблицы друг друга в своих представлениях, функциях и хранимых процедурах.

Вы знаете, такие вещи, как это:

use database_foo

create view spaghetti
as
select f.col1, c.col2
from fusilli f
inner join database_bar.dbo.conchigli c on f.id = c.id

(Я знаю, что кросс-базы данных не очень хорошая практика, но давайте просто скажем, что вы застряли с этим)

Есть ли хорошие методы, чтобы избежать "жесткого кодирования" имен баз данных?

(Так что, если вам потребуется время от времени повторно указывать на другую базу данных - для тестирования, возможно, - вам не нужно редактировать множество представлений, fns, sps)

Я заинтересован в решениях SQL 2005 или SQL 2008. Приветствия.

1 ответ

Решение

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

Другие вопросы по тегам