Usando Expressão regular em Check Constraint, > 10g

0

Posted on : 29-11-2008 | By : .rafa | In : Banco de Dados, Oracle

A um tempo atras tive que criar algumas check's para bloquear palavras de um campo, hoje no lugar das dezenas de checks constraints que criei troquei todas por uma unica.
Vou dar um exemplo simples mostrando como funciona e a expressao regular ajudou nesta questão.

Exemplo: Bloquear o campo titulo da tabela gn_globo para que não receba referencias exatas da concorrencia nesta.
A primeira idéia foi utilizar a função instr e minha check:

ALTER TABLE gn_globo
ADD constraint glb_titulo_ban_sbt_ck CHECK
( instr(lower(titulo), 'sbt') = 0 );
 <a href="http://www.rstoever.com/2008/11/29/usando-expressao-regular-em-check-constraint-10g/#more-209" class="more-link">Read the rest of this entry &raquo;</a>