TSQL中的常量和包含文件

MrT*_*lly 5 t-sql stored-procedures include

是否可以在TSQL存储过程中包含一组"常量"值?我有一种情况,我使用整数字段来存储位值,我有一小组"常量"值,我用来插入/选择该字段

DECLARE @CostsCalculated int = 32
DECLARE @AggregatedCalculated int = 64

--Set CostCalculated bit
update MyTable set DataStatus = ISNULL(DataStatus, 0) | @CostsCalculated
where Id = 10

--How many rows have that bit set
select count(*) from MyTable where ISNULL(DataStatus, 0) & @CostsCalculated = @CostsCalculated
Run Code Online (Sandbox Code Playgroud)

我可以在每个SP的顶部重复相同的DECLARES集,但我宁愿包含代码,这意味着我可以在添加新位值时在一个地方进行更改.

Lit*_*les 2

在我的脑海中,你不能包含这样的常量。

你说的是多少个常数?我想您可以为每个所需的常量创建一个函数,然后调用该函数而不是声明的常量@CostsCalculated,而不是声明常量,但我不确定这有多现实。

或者,将值存储在指定的表中。