sql >> Database >  >> RDS >> Oracle

Is er een database-engine die door RegEx gespecificeerde query-veldbeperkingen mogelijk maakt?

In Oracle kunt u aangepaste beperkingen opgeven , waarin u functies kunt gebruiken die regexp; bijvoorbeeld:

SQL> create table test_pattern ( txt varchar2(1000))
  2  /

Table created.

SQL> alter table test_pattern add constraint check_pattern check (regexp_instr(txt, '^START') != 0)
  2  /

Table altered.

SQL> insert into test_pattern values ('START a d f  g ')
  2  /

1 row created.

SQL> insert into test_pattern values ('_START a d f  g ')
  2  /
insert into test_pattern values ('_START a d f  g ')
*
ERROR at line 1:
ORA-02290: check constraint (SIUINTEGRA.CHECK_PATTERN) violated

U kunt informatie krijgen over beperkingen die u instelt met zoiets als:

select *
from dba_constraints       
where table_name = 'TEST_PATTERN'


  1. Hoe alle records tellen, maar alleen een specifiek nummer ophalen (LIMIT) voor weergave?

  2. kan niet schrijven naar logbestand pg_upgrade_internal.log bij het upgraden van Postgresql 9.1 naar 9.3

  3. Hoe de Oracle Index-clusterfactor wordt berekend

  4. Query:zoek string in databaseveld