Я часто хотел подобную вещь, но она специально не существует. Вот несколько вещей, которые вы можете делать.
Вариант 1
То, что мы сделали, - это использование пользовательских функций (UDF) для сбора того, что вы могли бы назвать глобальными переменными.
Вы можете вызывать UDF-строку внутри запроса, что делает его действительно полезным.
Предположим, вы хотите указать имя сервера, которое вы будете использовать в нескольких хранимых процедурах. Дублирование этого значения не будет оптимально поддерживаемым. Вместо этого вы можете сделать что-то вроде:
select * from clientNodes where serverName = dbo.SOME_SERVER_NAME()
Вариант 2
Это более очевидно, но стоит отметить. Сохраняйте свои значения в таблице поиска и ссылайтесь на них по идентификатору. Идентификатор не изменится, но значение, к которому он относится, может. Используя пример, как указано выше, но для этой опции:
Table: Servers
Columns: ServerID, ServerName
declare @serverName varchar(50)
select @serverName = ServerName from Servers where ServerID = 1
Это типичный подход к нормализации базы данных, но люди не обязательно думают об этом для обеспечения централизации данных DB-логики.
Надеюсь, это поможет!
Ian