Oracle 10gR2: erzwingen eingegebenen Termine sind von 9.00 bis 05.00 Uhr?
-
03-07-2019 - |
Frage
Ich mag, dass Datum-mal erzwingen, die fiel von 9.00 Uhr bis 17.00 Uhr eingegeben werden. Wie erzwingen ich dies mit ORACLE CHECK-Einschränkungen?
Lösung
SQL> ed
Wrote file afiedt.buf
1 create table date_check (
2 dt date check( to_number( to_char( dt, 'HH24' ) ) between 9 and 16 )
3* )
SQL> /
Table created.
SQL> ed
Wrote file afiedt.buf
1* insert into date_check values( to_date( '01/01/2008 08:30', 'DD/MM/YYYY HH2
4:MI' ) )
SQL> /
insert into date_check values( to_date( '01/01/2008 08:30', 'DD/MM/YYYY HH24:MI'
) )
*
ERROR at line 1:
ORA-02290: check constraint (SCOTT.SYS_C006170) violated
SQL> ed
Wrote file afiedt.buf
1* insert into date_check values( to_date( '01/01/2008 10:30', 'DD/MM/YYYY HH2
4:MI' ) )
SQL> /
1 row created.
SQL> ed
Wrote file afiedt.buf
1* insert into date_check values( to_date( '01/01/2008 17:30', 'DD/MM/YYYY HH2
4:MI' ) )
SQL> /
insert into date_check values( to_date( '01/01/2008 17:30', 'DD/MM/YYYY HH24:MI'
) )
*
ERROR at line 1:
ORA-02290: check constraint (SCOTT.SYS_C006170) violated
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow