SQL Server 2008是否有像MySQL的enum
這樣的數據類型?相當於MySQL枚舉數據類型的SQL Server?
回答
它沒有。有一個模糊等價:
mycol VARCHAR(10) NOT NULL CHECK (mycol IN('Useful', 'Useless', 'Unknown'))
CREATE FUNCTION ActionState_Preassigned()
RETURNS tinyint
AS
BEGIN
RETURN 0
END
GO
CREATE FUNCTION ActionState_Unassigned()
RETURNS tinyint
AS
BEGIN
RETURN 1
END
-- etc...
表現在哪裏的問題,仍然使用硬值。
恕我直言,查找表是參考完整性的方法。 但只有當你通過下面這個例子來避免「邪惡的魔法數字」時: Generate enum from a database lookup table using T4
玩得開心!
當我想在SQL Server中實現枚舉時找到了這個有趣的方法。
考慮到所有的數據庫枚舉需求都可以用2箇中心表來滿足,下面鏈接中提到的方法非常有吸引力。
這是一種反模式的變體,被稱爲「one true (查找表」。正確的做法是爲每個枚舉類型使用單獨的表並使用外鍵(如果您需要查找,可能不是「純」枚舉的情況)。 – 2014-09-04 13:22:41
鏈接頁面上的註釋爲每個「枚舉」使用單獨的表格提供了很好的備份,而不是這個答案指定的內容 – 2015-04-13 20:14:06
大多數人會很肯定地忽略這種設計是非常有趣的,但作者將他的文章命名爲「最佳實踐」 。 – 2016-11-16 13:11:17
- 1. SQL Server 2008中的枚舉類型?
- 2. 這是MySQL枚舉數據類型的適當使用嗎?
- 3. Python的枚舉相當於
- 4. Elasticsearch - 枚舉數據類型
- 5. 如何枚舉sql server的數據庫
- 6. SQL Server來Netezza數據類型相當於
- 7. 枚舉類型和MySQL
- 8. 在SQL Server數據庫中枚舉
- 9. SMO異常枚舉SQL Server數據庫
- 10. 相當於SQL Server的MySQL計算列
- 11. 相當於MySQL數據和時間數據類型的C#
- 12. C#枚舉的數據類型
- 13. 相當於C++枚舉的Ruby/Rails
- 14. Node.js native枚舉中的枚舉類型
- 15. 更改mysql中的枚舉類型
- 16. 使用枚舉數據類型
- 17. 虛擬數據類型/枚舉
- 18. C語言枚舉數據類型?
- 19. 發送JSON與枚舉數據類型
- 20. 枚舉數據類型內存分配
- 21. 埃宋:解析枚舉數據類型
- 22. xs:選擇相當於C++枚舉嗎?
- 23. C#:基於不同枚舉類型的枚舉值返回枚舉值
- 24. 您在SQL Server中使用什麼數據類型進行枚舉
- 25. 代數數據類型相當於C
- 26. 枚舉類型中的等於方法
- 27. 枚舉拋出「不是枚舉類型」
- 28. 比較包含相同枚舉類型
- 29. 相當於SP的SQL Server
- 30. 相當於DBMS_METADATA.GET_DDL的SQL Server
如何做到這一點的SSMS? – EgoPingvina 2017-10-03 19:49:15
@EgoPingvina:你應該在一個問題中提出這個問題,而不是評論。 – chaos 2017-10-18 19:51:38