Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak korzystać z wyliczeń w Oracle?

Czytając trochę o wyliczeniu MySQL, domyślam się, że najbliższym odpowiednikiem byłoby proste ograniczenie kontrolne

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

ale to nie pozwala na odwołanie się do wartości przez indeks. Możliwa byłaby również bardziej skomplikowana relacja klucza obcego

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

Dopóki działasz w widoku, wydaje się, że możesz dość dobrze odtworzyć funkcjonalność.

Teraz, jeśli akceptujesz rozwiązania PL/SQL, możesz tworzyć niestandardowe typy obiektów, które mogą zawierać logikę, aby ograniczyć zbiór wartości, które mogą przechowywać, oraz mieć metody, aby uzyskać identyfikatory i wartości itp.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Scal/połącz wiele plików PDF w jeden plik PDF w Oracle za pomocą pakietu PLPDF_TOOLKIT PL/SQL

  2. Jak tworzyć VARRAY jako element bloku PL/SQL w bazie danych Oracle

  3. Należy zadeklarować identyfikator PLS-00201 'PACKAGENAME.PROCEDURENAME'

  4. Program PL/SQL do drukowania danych pracowników

  5. Klastry zliczające SQL Oracle