SQL Server是否有一种机制可以允许类似枚举类型的功能?
例如,如果我有一个名为“UpdateStatus”的列,它通常会设置为单个字母值,如下所示:
1. D 2. X 3. U 4. I
这可能等同于很多东西。这会导致混乱。另一种选择是将其作为字符串列,如下所示:
1. Downloaded 2. Deleted 3. Updated 4. Initialized
但这也有自己的问题。最终,有人会写出这样的代码:
那么,SQL Server是否有任何枚举类型可以帮助解决这个问题?基本上,我正在寻找编译时检查,以确保要比较的值(即“Initialized”)是值列表的一部分。
我正在使用SQL Server 2008。
例如,如果我有一个名为“UpdateStatus”的列,它通常会设置为单个字母值,如下所示:
1. D 2. X 3. U 4. I
这可能等同于很多东西。这会导致混乱。另一种选择是将其作为字符串列,如下所示:
1. Downloaded 2. Deleted 3. Updated 4. Initialized
但这也有自己的问题。最终,有人会写出这样的代码:
where UpdateStatus = 'Initalized'
(拼错了)。此外,我听说以字符串为基础的键入并不是所有表现良好。那么,SQL Server是否有任何枚举类型可以帮助解决这个问题?基本上,我正在寻找编译时检查,以确保要比较的值(即“Initialized”)是值列表的一部分。
我正在使用SQL Server 2008。