Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

debo_432

Triggers de in, up e del...

Recommended Posts

Olá Pessoal, este é meu 1º tópico!! \o/;;http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

 

Bom assim pessoal, estou cursando analise e desenvolvimento de sistemas e tenho um trabalho com BD..

 

é o seguinte: tenho q fazer uma trigger que altere em outras 2s tables venda e produto os valores total da venda e total de estoque respectivamente...

 

tenho meu sql em baixo, tentei fazer assim só que sempre dá um erro e nao consegui descobrir ql é, ja tentei mudar a sintaxe várias vezes, outros metodos, mas sempre com o mesmo propósito...

 

segue o código:

CREATE TRIGGER "TG_INS_ITENSVENDA" FOR "ITENSVENDA"

ACTIVE BEFORE INSERT POSITION 0

AS

BEGIN

/*Aqui a variavel valortotal vai receber o calculo da quantidade * o valor */

VALORTOTAL = QUANTIDADE *

(Select valor

From produto

Where codproduto = itensvenda_produto);

Aqui altera o valor total na venda

UPDATE VENDA

SET QTDITENSNOTA = NEW.QUANTIDADE,

VALORTOTAL = NEW.VALORTOTAL

WHERE CODVENDA = NEW.ITENSVENDA_VENDA;

Aqui altera no estoque

UPDATE PRODUTO

SET QTDESTOQUE = QTDESTOQUE - NEW.QUANTIDADE

WHERE CODPRODUTO = NEW.ITENSVENDA_PRODUTO;

 

END^

 

...sempre dá esse erro:

ISC ERROR MESSAGE:

Dynamic SQL Error

SQL error code = -206

Column unknown

...

 

conto com a colaboração de vcs...

 

ObrigadoOoOo!!

 

Pense como uma pessoa de ação e aja como uma pessoa que pensa! - by Débo http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fera eu não faria desse jeito, mas pela sintaxe abaixo deve ser apenas na linha:

 

VALORTOTAL = QUANTIDADE * ....

 

seria

 

VALORTOTAL = NEW.QUANTIDADE *

 

e mais abaixo tem dois comentários sem a tag de comentario:

...

Aqui altera o valor total na venda

...

Aqui altera no estoque

 

 

Qualquer dúvida post novamente.

 

Flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.