Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

ओरेकल में एनम का उपयोग कैसे करें?

MySQL एनम के बारे में थोड़ा पढ़ना, मुझे लगता है कि निकटतम समकक्ष एक साधारण चेक बाधा होगी

CREATE TABLE sizes (
  name VARCHAR2(10) CHECK( name IN ('small','medium','large') )
);

लेकिन यह आपको सूचकांक द्वारा मूल्य को संदर्भित करने की अनुमति नहीं देता है। एक अधिक जटिल विदेशी कुंजी संबंध भी संभव होगा

CREATE TABLE valid_names (
  name_id   NUMBER PRIMARY KEY,
  name_str  VARCHAR2(10)
);

INSERT INTO valid_sizes VALUES( 1, 'small' );
INSERT INTO valid_sizes VALUES( 2, 'medium' );
INSERT INTO valid_sizes VALUES( 3, 'large' );

CREATE TABLE sizes (
  name_id NUMBER REFERENCES valid_names( name_id )
);

CREATE VIEW vw_sizes
  AS 
  SELECT a.name_id name, <<other columns from the sizes table>>
    FROM valid_sizes a,
         sizes       b
   WHERE a.name_id = b.name_id

जब तक आप दृश्य के माध्यम से काम करते हैं, ऐसा लगता है कि आप कार्यक्षमता को अच्छी तरह से दोहरा सकते हैं।

अब, यदि आप पीएल/एसक्यूएल समाधान स्वीकार करते हैं, तो आप कस्टम ऑब्जेक्ट प्रकार बना सकते हैं जिसमें तर्क शामिल हो सकते हैं ताकि वे मूल्यों के सेट को सीमित कर सकें और आईडी प्राप्त करने और मान प्राप्त करने के तरीके आदि हो सकें।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पिछले महीने या वर्ष के गुम डेटा को संचयी रूप से जोड़ें

  2. एसक्यूएल दिनांक प्रारूप

  3. पीएल/एसक्यूएल में फाइल से बीएलओबी कैसे प्राप्त करें?

  4. पीएल/एसक्यूएल में किसी तालिका से पंक्ति प्रकार वापस करने के लिए फ़ंक्शन कैसे करें?

  5. EF और TransactionScope SQL सर्वर और Oracle दोनों के लिए DTC में वृद्धि/फैले हुए बिना?