是否可以在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
我可以在每个SP的顶部重复相同的DECLARES集,但我宁愿包含代码,这意味着我可以在添加新位值时在一个地方进行更改。
答案 0 :(得分:2)
在我的头顶,你不能包含这样的常数。
你在谈论多少常数?而不是声明常量,我想你可以为你想要的每个常量创建一个函数,并调用函数而不是@CostsCalculated
,但我不确定它是多么逼真。
或者,将值存储在指定的表中。