Могу ли я иметь именованную интегральную константу для использования в хранимых процедурах в T-SQL? - PullRequest
2 голосов
/ 17 октября 2011

Мне бы хотелось иметь нечто похожее на целочисленную константу C ++, которую я мог бы использовать в разных хранимых процедурах T-SQL:

SELECT * FROM SOMETABLE WHERE STATE = IsBeingProcessed;

, где IsBeingProcessed - именованная целочисленная константа, равная, например, 4.

Возможно ли это в T-SQL?

Ответы [ 2 ]

3 голосов
/ 18 октября 2011

Вы можете создать конфигурационную таблицу с идентификатором, именем и значением, заполненным «BeingProcessed» и 4, и присоединиться к таблице.Будет также внешний ключ, если это возможно.Это также позволяет обновлять определение статуса в виде обновления таблицы.т. е. бизнес решает сменить имя с обработки на ожидание обработки.

0 голосов
/ 17 октября 2011

Вы можете создать User Defined Function в таблице master, которая просто делает следующее:

CREATE FUNCTION dbo.IsBeingProcessed
(
)
RETURNS int
AS
BEGIN
    RETURN 4
END

Тогда это можно назвать как:

SELECT * FROM SOMETABLE WHERE STATE = dbo.IsBeingProcessed();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...