Fórum sobre Trigger #45442
12/07/2004
0
AS
declare variable autoinc integer;
begin
select max(codgrup)as cod from grupos into autoinc;
if (autoinc is null) then
autoinc = 0;
autoinc = grupos.codgrup + 1;
new.codgrup = autoinc;
end
Trigger Before Insert, mas quando dispara dá a mensagem que o codgrup não tem valor. O que está errado?
Amilton/pr
Curtir tópico
+ 0Posts
12/07/2004
Gandalf.nho
Gostei + 0
12/07/2004
Amilton/pr
Gostei + 0
12/07/2004
Afarias
autoinc = grupos.codgrup + 1;
deveria ser
autoinc = autoinc + 1;
no mais, o correto realmente é usar um generator, e ficaria assim::
new.codgrup = gen_id(generator, 1);
T+
Gostei + 0
12/07/2004
Amilton/pr
Desculpem . . . é a primeira vez que faço uma trigger!
Gostei + 0
12/07/2004
Gandalf.nho
Gostei + 0
12/07/2004
Amilton/pr
Gostei + 0
13/07/2004
Afarias
o código acima pega o maior valor do campo codgrup na tabela grupos e joga na variável autoinc
>> autoinc = autoinc + 1;
Aqui o valor de autoinc é acrescido de 1
>> new.codgrup = autoinc;
Aqui, o campo codgrupo no registro sendo inserido ou atualizado recebe o valor da variável autoinc
T+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)