我们目前在存储过程的顶部定义了一个常量列表(大部分对应于我们在业务层中定义的枚举),如下所示:
DECLARE @COLOR_RED INT = 1
DECLARE @COLOR_GREEN INT = 2
DECLARE @COLOR_BLUE INT = 3
但是对于许多存储过程,这些通常会重复,因此存在很多重复。
如果过程只需要一个或两个常量,我使用的另一种技术是将它们作为参数传递给存储过程。(对常量值使用相同的大写约定)。这样我可以确定业务层和数据层中的值是一致的。这种方法不适用于很多值。
我还有哪些其他选择?
我正在使用 SQL Server 2008 和 C#,如果它有什么不同的话。
更新因为我正在使用.Net,用户定义(CLR)类型有什么帮助吗?