[firebase-br] Erro em Trigger
Joelson - Souzamark
joelsonss em yahoo.com.br
Sáb Jun 25 17:36:55 -03 2005
Caro amigo
tente colocar a condição Inserting entre parenteses ()
if (inserting) then
blabla
sem mais
Joelson
----- Original Message -----
From: "Informática" <infokernel em yahoo.com.br>
To: "Lista Firebird" <lista em firebase.com.br>
Sent: Saturday, June 25, 2005 4:00 PM
Subject: [firebase-br] Erro em Trigger
> Pessoal!
>
> O que esta errado nesta trigger abaixo:
> Esta dando um erro :
>
> /*******************************************************************************
> The next statement causes the following error:
>
> Invalid token.
> Dynamic SQL Error.
> SQL error code = -104.
> Token unknown - line 5, char 6.
> inserting.
> *******************************************************************************/
>
> CREATE TRIGGER ESTOQUE_ORDEM_SAIDA FOR
> ITEM_ORDEM_SAIDA
> ACTIVE BEFORE INSERT OR UPDATE OR DELETE POSITION 0
> AS
> begin
> if inserting then
> begin
> update medicamentos set estoque = estoque -
> new.qtde_medic where cd_medicamento =
> new.cd_medicamento;
> end
> if updating then
> begin
> if new.qtde_medic > old.qtde_medic then
> begin
> update medicamentos set estoque = estoque -
> (new.qtde_medic - old.qtde_medic) where cd_medicamento
> = new.cd_medicamento;
> end
> else
> begin
> update medicamentos set estoque = estoque +
> (old.qtde_medic - new.qtde_medic) where cd_medicamento
> = new.cd_medicamento;
> end
> end
> if deleting then
> begin
> update medicamentos set estoque = estoque +
> old.qtde_medic where cd_medicamento =
> new.cd_medicamento;
> end
> end
>
> ;
>
>
> SET TERM ^ ;
>
> CREATE TRIGGER ESTOQUE_ORDEM_SAIDA FOR
> ITEM_ORDEM_SAIDA
> ACTIVE BEFORE INSERT OR UPDATE OR DELETE POSITION 0
> AS
> begin
> if inserting then
> begin
> update medicamentos set estoque = estoque -
> new.qtde_medic where cd_medicamento =
> new.cd_medicamento;
> end
> if updating then
> begin
> if new.qtde_medic > old.qtde_medic then
> begin
> update medicamentos set estoque = estoque -
> (new.qtde_medic - old.qtde_medic) where cd_medicamento
> = new.cd_medicamento;
> end
> else
> begin
> update medicamentos set estoque = estoque +
> (old.qtde_medic - new.qtde_medic) where cd_medicamento
> = new.cd_medicamento;
> end
> end
> if deleting then
> begin
> update medicamentos set estoque = estoque +
> old.qtde_medic where cd_medicamento =
> new.cd_medicamento;
> end
> end
>
> ^
>
> SET TERM ; ^
>
>
>
>
>
>
>
> _______________________________________________________
> Yahoo! Acesso Grátis - Internet rápida e grátis.
> Instale o discador agora! http://br.acesso.yahoo.com/
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
> --
> No virus found in this incoming message.
> Checked by AVG Anti-Virus.
> Version: 7.0.323 / Virus Database: 267.8.1/28 - Release Date: 24/06/2005
>
Mais detalhes sobre a lista de discussão lista