私の要件は、列accno
に null 値がなく、重複がないことです。name 列にはヌルがなく、A から Z のみを受け入れます (数値や * $ などは受け入れません)。acctype
列は ( 'S' , 'C' ,'R') のみを許可する文字であり、列balance
には NULL 値がありません。S の場合acctype
、残高は >= 5000 である必要があり、C の場合、残高は >10000 であり、R の場合、残高は >= 5000 である必要があります。
私はこれを適用しようとしています:
create table kcb_acc_tab
(accno varchar2(20)
constraint kcb_acc_Pk
primary key,
name varchar2(20)
constraint kcb_name_NN
Not null
constraint kcb_name_CK
check((name =upper(name)) and (name like '[(A-Z)]')),
Acctype char
constraint kcb_acctype_ck
check (acctype in('S' ,'C' ,'R')) ,
Doo timestamp
default sysdate ,
bal number(7,2) kcb_bal_NN
constraint kcb_bal_ck
check((aacctype ='S' and bal >=5000) or
(acctype = 'C' and bal >=10000) or
(acctype ='R' and bal >=5000));