Porque que este TRIGGER esta errado?
Estou tentando fazer este trigger funcionar:
mas sempre me mostra este erro.
[color=red:ab9cbe7c4b]
Será que alguém consegue identificar este erro.
Peninha.
SET TERM ^; CREATE TRIGGER ATUALIZA_ESTOQUE FOR TAB_ENTRAPRODUTO ACTIVE BEFORE INSERT POSITION 0 AS BEGIN UPDATE TAB_ESTOQUE SET QUANTIDADE = QUANTIDADE + NEW.QUANTIDADE WHERE COD_PRODUTO = NEW.COD_PRODUTO; END ^ SET TERM ;^
mas sempre me mostra este erro.
[color=red:ab9cbe7c4b]
Dynamic SQL Error
SQL error code = -206
Column unknown
NEW.QUANTIDADE
Statement: CREATE TRIGGER ATUALIZA_ESTOQUE FOR TAB_ENTRAPRODUTO
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
UPDATE TAB_ESTOQUE
SET QUANTIDADE = QUANTIDADE + NEW.QUANTIDADE
WHERE COD_PRODUTO = NEW.COD_PRODUTO;
END
[/color:ab9cbe7c4b]Será que alguém consegue identificar este erro.
Peninha.
Peninha
Curtidas 0
Respostas
Gandalf.nho
15/10/2004
Existe um campo QUANTIDADE na tabela associada a trigger?
GOSTEI 0
Peninha
15/10/2004
Bem, na tabela Entra_produto tem um campo ´QUANTIDADE_ENTRA´ e na tabela estoque tem um campo ´QUANTIDADE´.
Pode me ajudar.
Pode me ajudar.
GOSTEI 0
Vinicius2k
15/10/2004
Colega,
Diante disto, o código correto seria :´
o NEW está se refererindo ao registro da tabela à qual a trigger está associada, no caso, TAB_ENTRAPRODUTO.
T+
Bem, na tabela Entra_produto tem um campo ´QUANTIDADE_ENTRA´ e na tabela estoque tem um campo ´QUANTIDADE´.
Pode me ajudar.
Diante disto, o código correto seria :´
CREATE TRIGGER ATUALIZA_ESTOQUE FOR TAB_ENTRAPRODUTO ACTIVE BEFORE INSERT POSITION 0 AS BEGIN UPDATE TAB_ESTOQUE SET QUANTIDADE = QUANTIDADE + NEW.QUANTIDADE_ENTRA WHERE COD_PRODUTO = NEW.COD_PRODUTO; END ^
o NEW está se refererindo ao registro da tabela à qual a trigger está associada, no caso, TAB_ENTRAPRODUTO.
T+
GOSTEI 0
Peninha
15/10/2004
Valeu Vinicius, muito obrigado amigo, não só por me mostrar o erro, mas por ter me explicado muito bem.
Muito obrigado.
Peninha.
Muito obrigado.
Peninha.
GOSTEI 0