GARANTIR DESCONTO

Fórum Criar Trigger Firebird #58741

26/08/2007

0

Galera estou tentando criar uma trigger para atualizar o campo estoque de um produto antes da inserção na tabela itens_lista, meu sql tah desta forma:

create trigger estoque for itens_lista
active
before insert
position 0 as
begin
update produtos set pro_qtde_est=(pro_qtde_est-new.ite_qtde)
where pro_cod=new.pro_cod
end

bom quando for inserido um novo registro na tabela itens_lista, ele vai pegar o campo que contem a quantidade vendida, que é representada pelo campo ite_qtde, e subtrair do campo quantidade da tabela produto que esta representada pelo campo pro_qtde_est.

bom na hora de criar aparece o seguinte erro.

ISC ERROR CODE:335544569

ISC ERROR MESSAGE:
Dynamic SQL Error
SQL error code = -104
Token unknown - line 8, column 1
end

pelo o que eu entendi ele não reconhece o end da trigger, tem algo errado no corpo da minha trigger? Valeu!!


Shakall

Shakall

Responder

Posts

26/08/2007

T3r3son

Vi sua mensagem de passagem, então posso estar enganado, mas vc verificou que tem um ; no final da instrução SQL?


Responder

Gostei + 0

26/08/2007

Emerson Nascimento

acho que é isso mesmo. falta o ; ao final do comando sql


Responder

Gostei + 0

27/08/2007

Shakall

create trigger estoque for itens_lista
active
before insert
position 0 as
begin
update produtos set pro_qtde_est=(pro_qtde_est-new.ite_qtde)
where pro_cod=new.pro_cod
end;

mesmo erro galera, adicionei o ; no final e não resolveu!


Responder

Gostei + 0

27/08/2007

Emerson Nascimento

colega, o ; é ao final da instrução sql

create trigger estoque for itens_lista
active
before insert
position 0 as
begin
update produtos set pro_qtde_est=(pro_qtde_est-new.ite_qtde)
where pro_cod=new.pro_cod; <-- aqui ó...
end


Responder

Gostei + 0

27/08/2007

Shakall

sim jah tentei tb e não resolvou, mas descobri o problema eu tinha que ter inserido antes e depois do create o SET TERM ^ ; agora esta fucnionando pergeitamente valeu!!!


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar