是否SQL Server 2008中具有AA数据类型,如MySQL的enum
?
Answer 1:
事实并非如此。 有一个模糊等价的:
mycol VARCHAR(10) NOT NULL CHECK (mycol IN('Useful', 'Useless', 'Unknown'))
Answer 2:
我在此找到了最好的解决方案是创建一个查找表的可能值作为主键,并创建一个外键查找表。
Answer 3:
恕我直言,查找表是去,与参照完整性的方式。 但是,只有当你避免“邪恶的幻数”按照这样一个例子,因为这一个: 从使用数据库查询表T4产生枚举
玩得开心!
Answer 4:
CREATE FUNCTION ActionState_Preassigned()
RETURNS tinyint
AS
BEGIN
RETURN 0
END
GO
CREATE FUNCTION ActionState_Unassigned()
RETURNS tinyint
AS
BEGIN
RETURN 1
END
-- etc...
对于性能问题,仍然使用硬值。
Answer 5:
当发现我想要实现在SQL Server枚举这个有趣的方法。
在下面的链接中提到的做法是相当引人注目的,考虑到所有数据库枚举需求可以用2个中央表来满足。
http://blog.sqlauthority.com/2010/03/22/sql-server-enumerations-in-relational-database-best-practice/
文章来源: SQL Server equivalent to MySQL enum data type?