sql >> Database teknologi >  >> RDS >> Oracle

Er der en databasemotor, der tillader forespørgselsfeltbegrænsninger angivet af RegEx?

I Oracle kan du angive brugerdefinerede begrænsninger , hvor du kan bruge funktioner, der evaluerer regexp; for eksempel:

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

Du kan få information om begrænsninger, du har sat med noget som:

select *
from dba_constraints       
where table_name = 'TEST_PATTERN'


  1. Valg af tilfældig indtastning fra MySQL-databasen

  2. Slut 4 tabeller i SQL-forespørgsel

  3. Hvordan får jeg en 50MB zip-fil med en 600MB xml-fil ind i en mysql-datatabel?

  4. PHP/MySql søgearray med array