ClientDataSet e Outros...

Delphi

19/11/2003

Pessoal to com 3 problemas que não to conseguindo resolver, no meu projeto final para faculdade...

1.: Essa query não funciona no Delphi, mas IBExpert roda normalmente...

select PO.DESCRICAO, IPO.QUANTIDADE, IPO.PRECOVENDA from ITENS_PEPRO IPO
inner join PRODUTOS PO on (IPO.CODPROD = PO.CODPROD)
where IPO.CODPED = :CODPED
union all
select PA.DESCRICAO, IPA.QUANTIDADE, IPA.PRECOVENDA from ITENS_PEPA IPRA
inner join PRATOS PA on (IPA.CODPRATO = PA.CODPRATO)
where IPA.CODPED = :CODPED

OBS.: Se eu retirar qualquer uma das linha que contenham o WHERE funciona!! Só está aceitando um WHERE!!!


2.: Essa Stored Procedure está retornando null, eu acho que tem haver com as variáveis, que eu não sei se estão de forma correta...

/* PROCEDURE PARA CALCULAR TOTAL DO PEDIDO */

SET TERM ^ ;
CREATE PROCEDURE CALCULATOTALPEDIDO (
CODPED INTEGER)
AS
DECLARE VARIABLE VSOMA1 NUMERIC(15,2);
DECLARE VARIABLE VSOMA2 NUMERIC(15,2);
DECLARE VARIABLE VTOTAL NUMERIC(15,2);

BEGIN
SELECT SUM(QUANTIDADE * PRECOVENDA) FROM ITENS_PEPA WHERE CODPED = :CODPED INTO :VSOMA1;
SELECT SUM(QUANTIDADE * PRECOVENDA) FROM ITENS_PEPO WHERE CODPED = :CODPED INTO :VSOMA2;
VTOTAL = :VSOMA1 + :VSOMA2;
UPDATE PEDIDOS SET TOTAL = :VTOTAL WHERE CODPED = :CODPED;
END
^
SET TERM ; ^

3.: (Essa eu tô sem idéia...) Preciso de uma query + ou - assim...

CREATE TRIGGER TRG_POSINSERIRITENSPEPRA FOR ITENS_PEPRA
ACTIVE AFTER INSERT POSITION 0
AS
BEGIN
UPDATE PRODUTOS SET ESTOQUE = ESTOQUE - (NEW.QUANTIDADE * COMPOE.QUANTIDADE) WHERE CODPROD IN ( SELECT CODPROD, QUANTIDADE FROM COMPOE WHERE CODPRATO = NEW.CODPRATO);
EXECUTE PROCEDURE CALCULATOTALPEDIDO(NEW.CODPED);
END
^

Eu sei que o uso do IN só pode se o select retornar apenas uma coluna... mas qual seria a solução para esse problema???

Essa Trigger é para quando for adicionado um prato ao pedido ela consultar que produtos e em quais quantidades compoem o prato e dar baixa no estoque...

Pessoal vou ficar muito grato se alguem puder me passar alguma dica... Tenho que resolver esses problemas (e outros) para apresentar meu projeto final dia 15/12/03....

Se alguem tambem tiver alguma dica de como eu posso imprimir um cupom (não fiscal) eu també agradeço...

Um abraço!

Douglas C. Santos


Dodacs

Dodacs

Curtidas 0

Respostas

Dodacs

Dodacs

19/11/2003

SOBE


GOSTEI 0
POSTAR