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

Menggunakan Pernyataan IF Kompleks di Oracle SQL

Baca dokumentasi pada kolom virtual:

CREATE TABLE Rent_Band
(
    Plot_ID NUMBER(3),
    Band VARCHAR(1) AS
       (CASE WHEN Owner_Category = 'Council' AND Sheds ='No' THEN 'A'
            WHEN Owner_Category = 'Private' AND Water_Supply ='Yes' THEN 'D'
            WHEN Owner_Category = 'Council' AND Water_Supply ='No' AND Sheds ='Yes' THEN 'B'
            WHEN Owner_Category = 'Private' AND Water_Supply ='No' AND Sheds ='No' THEN 'B'
       ELSE 'C' END),
    Rent_Charge NUMBER(4), 
    Owner_Category VARCHAR(10) CONSTRAINT Checking_Owner_Category CHECK((Owner_Category='Private') OR (Owner_Category='Council')), 
    Sheds VARCHAR(3) CHECK((Sheds='Yes') OR (Sheds='No')), 
    Water_Supply VARCHAR(3) CHECK((Water_Supply='Yes') OR (Water_Supply='No'))
)

BTW, saya akan SANGAT merekomendasikan:

  • menggunakan bit bidang alih-alih Yes /No batasan untuk Sheds dan Water_Supply (menghemat ruang dan batasan pemeriksaan overhead, dan menerjemahkan langsung ke boolean di sebagian besar bahasa aplikasi)
  • menggunakan tabel pencarian untuk Owner_Category alih-alih batasan string untuk alasan yang pada dasarnya sama



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Buku Putih Statistik CBO

  2. Cara memanggil prosedur tanpa parameter sebagai tipe tabel dari kelas Java

  3. Oracle SQL Select Matching Query

  4. cara mengonversi csv ke tabel di oracle

  5. Oracle PL/SQL:Contoh SQL Dinamis Menggunakan Execute Immediate