Могу ли я иметь именованную интегральную константу для использования в хранимых процедурах в 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, и присоединиться к таблице. Будет также внешний ключ, если это возможно. Это также позволяет обновлять определение статуса в виде обновления таблицы. т.е. бизнес решает сменить имя с обработки на ожидание обработки.

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