أوراكل 10gr2: فرض التواريخ المدخلة هي 09:00 حتي 05:00؟

StackOverflow https://stackoverflow.com/questions/203484

  •  03-07-2019
  •  | 
  •  

سؤال

وأريد أن فرض ذلك التاريخ مرات التي تم إدخالها سقوط 9:00 حتي 17:00. كيف يمكنني تفعيل هذا مع ORACLE التحقق من القيود؟

هل كانت مفيدة؟

المحلول

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
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top