[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