Trigger - Problemas
Alguém sabe me dizer onde está o erro nesse trigger que volta o estoque?
Erro:
[b:0469efb30e]Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown.
RETURN. [/b:0469efb30e]
=(
Falow
CREATE TRIGGER VOLTA_ESTOQUE FOR NOTA ACTIVE AFTER DELETE POSITION 0 AS Declare variable CODCUPOM varchar(10); Declare variable CODPROD integer; Declare variable QTD Numeric(4,3); begin FOR SELECT I.CODCUPOM, I.QTD, I.CODPROD FROM ITEM I WHERE I.CODCUPOM = NOTA.CODNOTA INTO :CODCUPOM, :QTD, :CODPROD DO BEGIN UPDATE PRODUTOS E SET ESTOQUE = (ESTOQUE + :QTD) WHERE E.CODPROD = :CODPROD; DELETE FROM ITEM I WHERE I.CODCUPOM = NOTA.CODNOTA; END SUSPEND; end
Erro:
[b:0469efb30e]Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown.
RETURN. [/b:0469efb30e]
=(
Falow
Fer
Curtidas 0
Respostas
Abueno_silva
19/08/2003
Bom, a msg de erro está um pouco estranha, realmente. Mas acho que você deveria tentar o seguinte (nem tanto pelo erro, mas pela lógica do trigger):
- troque as referências de NOTA por OLD;
- retire o delete da tabela itens do loop do for (se não ele vai tentar dar delete toda vez que ler um item);
[]´s
- troque as referências de NOTA por OLD;
- retire o delete da tabela itens do loop do for (se não ele vai tentar dar delete toda vez que ler um item);
[]´s
GOSTEI 0
Fer
19/08/2003
ola amigos ... continuo com o mesmo problema =(
mas valeuuuuu =)
mas valeuuuuu =)
GOSTEI 0
Abueno_silva
19/08/2003
Só mais uma pergunta: você está usando o set term na criação do trigger?
Ex.:
set term ^ ;
CREATE TRIGGER
....
set term ; ^
Isso atrapalha na criação, porque se não fizer a inversão de terminador, o IB/FB vai entender que o primeiro ; do código do trigger é o final do comando CREATE TRIGGER, então dá pau.
[]´s
Ex.:
set term ^ ;
CREATE TRIGGER
....
set term ; ^
Isso atrapalha na criação, porque se não fizer a inversão de terminador, o IB/FB vai entender que o primeiro ; do código do trigger é o final do comando CREATE TRIGGER, então dá pau.
[]´s
GOSTEI 0