Estornar para o estoque

Firebird

26/10/2005

Tenho uma SP, que estorna um item por vez, caso o caixa cancele aquele item vendido. Porem há uma situação, em que após ter realizado uma venda inteira com vários itens vendidos, o cliente resolve não querer mais. Como a saida dos itens é concumitante, gostaria de saber como faço uma SP que devolva tudo que saiu ao estoque e limpe a tabela de itens vendido, essa última sem problemas para fazer. Com while dá para fazer, direto do Delphi, mas gostaria que fosse via SP, pois é melhor para aplicação e digamos que vários caixas o façam simultaneamente, o consumo de banda de rede é menor se for via SP, creio eu. Grato!!!!


Paulo

Paulo

Curtidas 0

Respostas

Crash

Crash

26/10/2005

vc pode utilizar um FOR SELECT pra fazer isso... procure exemplos aqui no forum mesmo.

t+


GOSTEI 0
Paulo

Paulo

26/10/2005

Tem como eu dar um tipo de while, mas dentro de ums SP? Como faço isso?


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

26/10/2005

o laço (while) é possível desde que você crie um cursor com o FOR SELECT, como disse nosso colega CrasH.


GOSTEI 0
Afarias

Afarias

26/10/2005

|o laço (while) é possível desde que você crie um cursor com o FOR
|SELECT, como disse nosso colega CrasH.

FOR SELECT é apenas 1 forma de realizar um ´laço´ no PSQL do IB. Outra forma é usando um WHILE

WHILE (condicao) DO
BEGIN
// codigo
END


T+


GOSTEI 0
Crash

Crash

26/10/2005

para busca nos registros de uma tabela o mais facil e rapido eh usando FOR SELECT. com while vc teria q fazer varias consultas e com o for select 1 soh.

AS
  COD_ITEM INTEGER;
BEGIN
  FOR SELECT COD_ITEM FROM ITENS_VENDA 
  WHERE COD_VENDA = 1
  INTO :COD_VENDA DO
  BEGIN
    UPDATE PRODUTOS SET
      QTD = 1
   WHERE COD_PRODUTO = :COD_ITEM;
  END
END;



GOSTEI 0
Afarias

Afarias

26/10/2005

|para busca nos registros de uma tabela o mais facil e rapido eh usando
|FOR SELECT. com while vc teria q fazer varias consultas e com o for
|select 1 soh.

cada um tem seu uso específico. eu NÃO disse pra usar o WHILE, disse apenas q a construção FOR SELECT *não é a única forma* de fazer um ´laço´

mas, cada costrução tem uma aplicação específica.


T+


GOSTEI 0
Crash

Crash

26/10/2005

|cada um tem seu uso específico. eu NÃO disse pra usar o WHILE, disse |apenas q a construção FOR SELECT *não é a única forma* de fazer |um ´laço´

|mas, cada costrução tem uma aplicação específica.


mais deixou ambingua a explicação para nosso amigo ^^

t+


GOSTEI 0
Paulo

Paulo

26/10/2005

Valeu! Vou fazer via for select.


GOSTEI 0
POSTAR