[firebase-br] Duvida sobre Trigger

Paulo Sérgo Feix paulinhofeix em gmail.com
Qua Mar 31 16:02:37 -03 2010


Boa tarde

Preciso de ajuda, tenho que fazer o seguinte uma trigger, quando estiver
incluindo um registro e este registro for novo ela deve incluir em outra
tabela de Stock, tentei fazer desta forma mais esta dando erro, segue o
exemplo:
 AS
DECLARE VARIABLE Existe smallint ;
begin
Existe = 0;
SELECT FIRST 1 1 FROM  sstock_semillas
 WHERE ( sstock_semillas.empresa = new.empresa and
         sstock_semillas.filial = new.filial and
         sstock_semillas.grano = new.granos and
         sstock_semillas.variedade = new.variedade and
         sstock_semillas.id_producto = new.id_producto and
         sstock_semillas.transgenico = new.transgenico and
         sstock_semillas.categoria = new.categoria and
         sstock_semillas.lote = new.lote and
         sstock_semillas.deposito = new.deposito and
         sstock_semillas.bloco = new.bloco and
         sstock_semillas.letras = new.l_letra and
         sstock_semillas.zaranda = new.zaranda )
   INTO :Existe ;
   if ( :Existe = 1 ) then -- existe
   begin
     update sstock_semillas set
       sstock_semillas.stock =  sstock_semillas.stock + new.bls_ind,
       sstock_semillas.entrada = sstock_semillas.entrada + new.bls_ind
   where sstock_semillas.empresa = new.empresa and
         sstock_semillas.filial = new.filial and
         sstock_semillas.grano = new.granos and
         sstock_semillas.variedade = new.variedade and
         sstock_semillas.id_producto = new.id_producto and
         sstock_semillas.transgenico = new.transgenico and
         sstock_semillas.categoria = new.categoria and
         sstock_semillas.lote = new.lote and
         sstock_semillas.deposito = new.deposito and
         sstock_semillas.bloco = new.bloco and
         sstock_semillas.letras = new.l_letra and
         sstock_semillas.zaranda = new.zaranda;
   end
else
   begin -- nao existe
   Insert Into sstock_semillas
   (ID_SEMILLAS, EMPRESA, FILIAL, SILO, GRANO, VARIEDADE, ID_PRODUCTO,
    TRANSGENICO, CATEGORIA, LOTE, DEPOSITO, BLOCO, LETRAS, ZARANDA,
    STOCK, ENTRADA, SAIDA)
   values
   (0, new.empresa, new.filial, new.silo, new.granos, new.variedade,
new.id_producto,
    new.transgenico, new.categoria, new.lote, new.deposito, new.bloco,
new.l_letra,
    new.bls_ind, new.bls_ind, 0 );
   end

Onde estou erreado ?

-- 
Paulinho Sérgio Feix



Mais detalhes sobre a lista de discussão lista