जवाबों:
यह नहीं है एक अस्पष्ट समकक्ष है:
mycol VARCHAR(10) NOT NULL CHECK (mycol IN('Useful', 'Useless', 'Unknown'))
इसमें जो सबसे अच्छा समाधान मुझे मिला है वह है कि प्राथमिक कुंजी के रूप में संभावित मानों के साथ एक लुकअप तालिका बनाएं, और लुकअप टेबल के लिए एक विदेशी कुंजी बनाएं।
IMHO लुकअप तालिकाओं को जाने के लिए रास्ता है, संदर्भात्मक अखंडता के साथ। लेकिन केवल अगर आप इस तरह के एक उदाहरण के बाद "ईविल मैजिक नंबर" से बचते हैं: 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...
जहां प्रदर्शन मायने रखता है, फिर भी कठिन मूल्यों का उपयोग करें।
यह दिलचस्प दृष्टिकोण मिला जब मैं एसक्यूएल सर्वर में एनम को लागू करना चाहता था।
लिंक में नीचे उल्लिखित दृष्टिकोण काफी सम्मोहक है, आपके सभी डेटाबेस की जरूरत को देखते हुए 2 केंद्रीय तालिकाओं से संतुष्ट किया जा सकता है।