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
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
Curtir tópico
+ 0
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+
|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
/*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
Clique aqui para fazer login e interagir na Comunidade :)