camila morais Postado Maio 7, 2010 Denunciar Share Postado Maio 7, 2010 Bom DiaEstou precisando de criar uma trigger para quando for gravar um registro ela ira verificar se a minha chave está está nula se sim ela deixa que seja autoincremento, senão não incrementa a minha chave e grava com o valor que alterei lá.Versão do Postgres 8.3Versão do PgAdmin 1.6.3Alguém pode me ajudar??Obrigada. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Wilmor Henrique Postado Junho 17, 2010 Denunciar Share Postado Junho 17, 2010 Não é necessário criar uma trigger para isso.Basta no insert da tabela, você colocar o valor desejado no campo. Exemplo:insert into TabelaTeste(codigo,nome) VALUES (50, 'NOME 1'); -- Não importa qual o próximo número da sequencia, vai gerar 50 no código.Mas tem um problema, a sequence de controle não é atualizada, isso futuramente vai acabar gerando "duplicate key".Se você necessita mesmo "burlar" a geração automática, vai precisar atualizar a sua sequence sempre com o maior valor gerado na tabela. Pode fazer isso em uma trigger, ou então na aplicação.Espero ter ajudado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
camila morais
Bom Dia
Estou precisando de criar uma trigger para quando for gravar um registro ela ira verificar se a minha chave está está nula se sim ela deixa que seja autoincremento, senão não incrementa a minha chave e grava com o valor que alterei lá.
Versão do Postgres 8.3
Versão do PgAdmin 1.6.3
Alguém pode me ajudar??
Obrigada.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.