Могу ли я иметь именованную интегральную константу для использования в хранимых процедурах в T-SQL?
Я хотел бы иметь нечто похожее на целочисленную константу C++, которую я мог бы использовать в различных хранимых процедурах T-SQL:
SELECT * FROM SOMETABLE WHERE STATE = IsBeingProcessed;
с IsBeingProcessed
быть именованной целочисленной константой, равной сказать 4
,
Возможно ли это в T-SQL?
2 ответа
Решение
Вы могли бы создать User Defined Function
в master
таблица, которая просто делает следующее:
CREATE FUNCTION dbo.IsBeingProcessed
(
)
RETURNS int
AS
BEGIN
RETURN 4
END
Тогда это можно назвать так:
SELECT * FROM SOMETABLE WHERE STATE = dbo.IsBeingProcessed();
Вы можете создать конфигурационную таблицу с идентификатором, именем и значением, заполненным "BeingProcessed" и 4, и присоединиться к таблице. Будет также внешний ключ, если это возможно. Это также позволяет обновлять определение статуса в виде обновления таблицы. т.е. бизнес решает сменить имя с обработки на ожидание обработки.