【发布时间】:2009-06-08 11:28:59
【问题描述】:
我最近不小心写了一个非常丑陋的存储过程,我希望我有枚举,
例如。
CREATE PROCEDURE Proc_search_with_enum @user int, @account_category {enum}
我了解 SQL 2000 没有枚举作为一流的语言结构,您使用哪些编码约定来模拟枚举或以其他方式解决相同的问题?
或者我注定只使用 VARCHAR 和 IF @account_category='cat1'?
编辑:T-SQL 和 C# 是客户端语言。
编辑:谢谢大家!很多好的建议,我希望我能接受几个答案,我已经投票给每个人了-
答案总结
- 使用 int 依赖于 C# 的枚举。好的 对于 C# 客户端代码,制作 TSQL 客户端 代码可读性较差。
- 使用 Char/Varchar。不适合 C# 客户端代码 (不利于本地化),使得 TSQL 代码更具可读性。
- 使用参数检查代码限制 参数,或使用约束 如果是表列或外键 该参数将被插入 放入表格中。
【问题讨论】:
标签: sql-server tsql