Константы и включаемые файлы в TSQL - PullRequest
5 голосов
/ 14 июля 2010

Можно ли включить набор «постоянных» значений в хранимую процедуру 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

Я мог бы повторить то же самоенабор DECLARES в верхней части каждого SP, но я бы предпочел включить код, что означает, что я могу изменить в одном месте при добавлении новых битовых значений.

1 Ответ

2 голосов
/ 14 июля 2010

Вдобавок ко мне, вы не можете включать такие константы.

Сколько же вы говорите о константах?Вместо объявленных констант, я полагаю, вы могли бы создать функцию для каждой нужной вам константы и вызывать ее вместо @CostsCalculated, но я не уверен, насколько это реалистично.

Поочередно сохраняйте значенияв назначенной таблице.

...