Я пытаюсь понять, как можно использовать псевдоним для ссылки на другую базу данных в том же экземпляре, без необходимости использовать жестко закодированное имя.
Сценарий таков:
У меня есть база данных с данными, база данных аудита, в которой хранятся все сделанные изменения. по разным причинам я хочу хранить данные аудита в отдельной базе данных, не в последнюю очередь потому, что они могут быть достаточно большими и для целей отчетности.
В базе данных данных я не хочу ссылаться на это жестко закодированным именем, а псевдонимом, чтобы в разных средах мне не приходилось менять имя и различные sp, чтобы ссылаться на новое имя.
например:
mydevdata
mydevaudit
Если sp существует в mydevdata
, например, который вызывает mydevaudit
, я не хочу менять sp, когда я иду, чтобы проверить, где БД могут называться mytestdata
и mytestaudit
. И снова, по разным причинам, имена баз данных могут меняться, в большей степени связанные с пробелами, экземплярами и т. Д.
Так что, если бы у меня была процедура в mydevdata
:
proc A
begin
insert into mydevaudit.table.abc(somecol)
select 1
end
когда я иду на тестирование, я не хочу, чтобы процедура менялась для ссылки на другое имя (предположим, что это произошло)
Вместо этого я хочу сделать что-то вроде:
proc A
begin
insert into AUDITEBALIAS.table.abc(somecol)
select 1
end
Мне интересно узнать, как я могу сделать что-то подобное, а также плюсы и минусы.
Кроме того, dymnamic SQL не вариант.
Заранее спасибо за помощь.