[firebase-br] GEN_ID TRIGER & Valores por Defeito

Mário Reis secretariadogeral em acra.pt
Sáb Jan 20 15:55:33 -03 2007


Olá pessoal,

Cá estou eu de novo. Desta vez por causa do comportamento do D7 + Firebird + 
DbExpress. Mas crei que o mm vale para qq outro modo de aceder à base de 
dados:

É assim: tenho este campo NOT NULL Primary_KEY C/autoiincremento triger 
/GEN_ID(<qq_coisa,>,1 ). Porém quando estou a inserir dados sou obrigado a 
fornecer
o valor deste campo do lado do Cliente D7 o mesmo se passando com os campos 
com valor por defeito. Isto é, o servidor não me fornece esses dados quando 
tinha toda a vantagem nisso.
Obriga-me a chamar via SQLQuery a função Gen_ID(????) e a SQLStoredProcedure 
para assignar os valores do lado do cliente e envia-los ao servidor.
Isto é mesmo assim ou estou errado? Como se pode ustrapassar isto.
Então não era muito mais fácil enviar do lado do cliente apenas os 
dados/valores do meu input enquanto o servidor se encarregaria de fornecer o 
Autoincremento e os valores por defeito?
Cheguei inclusivé a alterar a minha triger para caso o valor fosse zero ter 
o mm comportamento que o NULL mas nada feito, fica tudo na mesma.
Alguem pode explicar-me a vantagem destes campos se tenho de estar a invocár 
a sua chamada do lado do cliente antes do triger disparar, particularmente 
porque se trata de um triger "Before Insert"?
Depois se eu permitir que o cliente faça input do campo de autorincremento 
ele não incrementa e a consistencia dos dados poderá ficar em causa. Certo? 
Estarei enganado?

Obrigado
Mário 







Mais detalhes sobre a lista de discussão lista