[firebase-br] Como Criar um Check num Domain no Firebird 3

Luciano franca luapfirebird em yahoo.com.br
Dom Ago 7 11:54:16 -03 2016


 Pessoal criei ou seguinte Domain
CREATE DOMAIN "Campo_Teste" ASCHAR(2) CHARACTER SET WIN1252CHECK (char_length(Value) < 3)COLLATE WIN_PTBR;
o que percebo é que estoura a capacidade do campo antés de disparar o Check e é bem por isso que eu queria criar um check para todos os meus Domains mais percebo que isso é impossivel

Quando tento efetuar um comando via SQL como   " UPDATE Tabela SET Campo_Teste  =  'ABC'
vai me retornar o seguinte erro
arithmetic exception, numeric overflow, or string truncation.string right truncation.expected length 2, actual 2.
Seria possível colocar uma chamada a um Exception dentro desse Check no Domain ?

Ou criar um Triger para acessar todos o Domains
pois essa Trigger funciona perfeitamente
CREATE OR ALTER trigger teste for Tabela_Testeactive before insert or update position 0ASbegin if (char_length(NEW.Campo_Teste) > 2) Then exception EXCEP_TESTE;End
Ela dispara antes do erro de  "arithmetic exception, numeric overflow, or string truncation."
Grato.


Mais detalhes sobre a lista de discussão lista