c# – 在SQL Server中处理“Enumerations”的不同方法有哪些?

我们目前在存储过程的顶部定义一个常量列表(大多数对应于我们在业务层中定义的枚举),如下所示:
DECLARE @COLOR_RED INT = 1
DECLARE @COLOR_GREEN INT = 2
DECLARE @COLOR_BLUE INT = 3

但是这些通常会在许多存储过程中重复出现,因此存在大量重复.

如果过程只需要一个或两个常量,我使用的另一种技术是将它们作为参数传递给存储过程. (对于常量值使用相同的大写约定).这样我就可以确定业务层和数据层中的值是一致的.这种方法对很多值都不好.

我还有什么其他选择?

我正在使用sql Server 2008和C#,如果它有任何区别.

更新因为我正在使用.Net是否有用户定义(CLR)类型可以帮助的方式?

解决方法

这可能是有争议的:我的看法是不要在T-sql中使用枚举. T-sql并没有真正设计成使枚举有用的方式,就像它们在其他语言中的方式一样.对我来说,在T_sql中,他们只是增加了努力和复杂性而没有其他地方看到的好处.

相关文章

原文地址:http://msdn.microsoft.com/en-us/magazine/cc163...
前言 随着近些年微服务的流行,有越来越多的开发者和团队所采...
最近因为比较忙,好久没有写博客了,这篇主要给大家分享一下...
在多核CPU在今天和不久的将来,计算机将拥有更多的内核,Mic...
c语言输入成绩怎么判断等级
字符型数据在内存中的存储形式是什么