executar store procedure de dentro de uma trigger
CREATE TRIGGER TG_PRODAGREGADO FOR PROD
ACTIVE AFTER UPDATE POSITION 1
as
begin
/* venda produto agregado */
if ((NEW.ProdMontado=1) and (New.Operacao=500)) then
begin
execute procedure BX_PRODAGREGADO(NEW.CODPROD,
NEW.QUANTVENDIDO,NEW.VALOROPERACAO,NEW.CODEMP,
NEW.CODCLIFOR,NEW.CODVENCOMP,NEW.CODUSUARIO,
NEW.OPERACAO,´Prod.Agregado´);
end
end
==> Da erro... o que esta de errado... Esta procedure [b:daefcd75ed]Bx_PRODAGREGADO[/b:daefcd75ed] tem como retorno a variavel RET varchar(05)
ACTIVE AFTER UPDATE POSITION 1
as
begin
/* venda produto agregado */
if ((NEW.ProdMontado=1) and (New.Operacao=500)) then
begin
execute procedure BX_PRODAGREGADO(NEW.CODPROD,
NEW.QUANTVENDIDO,NEW.VALOROPERACAO,NEW.CODEMP,
NEW.CODCLIFOR,NEW.CODVENCOMP,NEW.CODUSUARIO,
NEW.OPERACAO,´Prod.Agregado´);
end
end
==> Da erro... o que esta de errado... Esta procedure [b:daefcd75ed]Bx_PRODAGREGADO[/b:daefcd75ed] tem como retorno a variavel RET varchar(05)
Sistemp
Curtidas 0
Respostas
Afarias
05/08/2005
qual o erro?!
note q para pegar o retorno do procedimento vc deve usar RETURNING_VALUES, ex:
execute procedure BX_PRODAGREGADO (NEW.CODPROD,
NEW.QUANTVENDIDO,NEW.VALOROPERACAO,NEW.CODEMP,
NEW.CODCLIFOR,NEW.CODVENCOMP,NEW.CODUSUARIO,
NEW.OPERACAO,´Prod.Agregado´) RETURNING_VALUES :retorno;
T+
note q para pegar o retorno do procedimento vc deve usar RETURNING_VALUES, ex:
execute procedure BX_PRODAGREGADO (NEW.CODPROD,
NEW.QUANTVENDIDO,NEW.VALOROPERACAO,NEW.CODEMP,
NEW.CODCLIFOR,NEW.CODVENCOMP,NEW.CODUSUARIO,
NEW.OPERACAO,´Prod.Agregado´) RETURNING_VALUES :retorno;
T+
GOSTEI 0