GARANTIR DESCONTO

Fórum Tratamento de campo chave primária #41334

06/01/2004

0

Senhores !!!

Como faria no interbase para tratar um campo sendo ele chave primária quando for feito a gravação, para evitar uma violação de chave..



Rogério


Rogeranalista

Rogeranalista

Responder

Posts

06/01/2004

Afarias

|Como faria no interbase para tratar um campo sendo ele chave primária
|quando for feito a gravação, para evitar uma violação de chave..

Não entendi bem... Para tratar o erro gerado pelo IB vc deve usar blocos try/except. Para evitar violação, vc deve ter cuidado de nunca inserir valores repetidos.


T+


Responder

Gostei + 0

06/01/2004

Sremulador

Amigo você poderia usar os gatilhos do banco de dados por exemplo

/*cria o gatilho*/
CREATE TRIGGER AI_CENTRODECUSTO_CCCD FOR CENTRODECUSTO
/*ativa*/
ACTIVE
/*caso o registro seja inserido*/
BEFORE INSERT POSITION 0
AS
BEGIN
/* se caso o registro inserido seja nulo*/
IF (NEW.CCCD IS NULL) THEN
NEW.CCCD = GEN_ID(CENTRODECUSTO_CCCD, 1);
/*insere o cod do gerador e adiciona + 1 ao gerador
END

Para criar o gerador
CREATE GENERATOR ´new_generator´

isso evitara que ocorra os key violations


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar