Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Bagaimana cara menggunakan enum di Oracle?

Membaca sedikit tentang enum MySQL, saya kira padanan terdekat adalah batasan pemeriksaan sederhana

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

tetapi itu tidak memungkinkan Anda untuk mereferensikan nilai dengan indeks. Hubungan kunci asing yang lebih rumit juga dimungkinkan

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

Selama Anda mengoperasikan melalui tampilan, tampaknya Anda dapat mereplikasi fungsionalitas dengan cukup baik.

Sekarang, jika Anda menerima solusi PL/SQL, Anda dapat membuat jenis objek khusus yang dapat menyertakan logika untuk membatasi kumpulan nilai yang dapat mereka pegang dan memiliki metode untuk mendapatkan ID dan mendapatkan nilai, dll.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara menggunakan fungsi NVL() di Oracle

  2. TRIM() Fungsi di Oracle

  3. Hubungkan OEM Anda ke Grafana menggunakan Aplikasi Manajer Perusahaan untuk Grafana

  4. Pembaruan Oracle Hang

  5. Tutorial Formulir dan Laporan Oracle 9i, Oracle 10g dan Oracle 11g Developer Suite