Dar baixa em estoque MYSQL

3 respostas
T

no caso criei um programa de estoque em java, so que na hora da venda
preciso dar uma baixa, só que nao quero puxar um select, do item ver a quantidade
diminuir, na aplicação depois alterar no banco etct…

eu tenho uma tabela Produto, com o field quantidade, e gostaria que essa quantidade
fosse decrementada ou encrementada, em valores qe eu especificar ja tentei onde
uma variavel recebia o select mas parece que nao acertei a sintaxe

DELIMITER $$

CREATE  PROCEDURE venda_combaixa(                                                                                                                                                                                                                                                                                                                 IN  idvenda int, idprod int, quant int )

BEGIN

DECLARE x INT DEFAULT 0;																																																			

INSERT INTO venda_has_produto VALUES (idvenda,idprod,quant);  //aki eh outra coisa ignore-a

Select Quantidade + quant from Produto where idProduto=idprod INTO x;      //isso ai queria saber como faz

update produto set Quantidade = x where produto.idProduto = idprod;

END

$$

Oue entao fazer um insert ja puxado de um select mas parece que nao deu certo porque ele nao pode referenciar a mesma tabela
pelo menos foi o erro que deu.

update produto set quantidade = (Select Quantidade +2 from Produto where idProduto=9) where idProduto=9;
da esse erro Error Code : 1093
You can’t specify target table ‘produto’ for update in FROM clause

dai nao consegui, alguem sabe de algum geito de eu dar baixa no estoque?
grato

3 Respostas

GelioJr

UPDATE tabela SET campo = campo + ‘valor’ WHERE condicao

T

PUTSSS nao acredito que nao pensei nisso mais barbada nao tem como ser :S
ossa me senti lixo agora :smiley: aehueahueahae

funcionou.
muito obrigado caro Gelio;

pode fechar o topico

GelioJr

uahsuahsuhas

acontece ^^

Criado 24 de agosto de 2010
Ultima resposta 24 de ago. de 2010
Respostas 3
Participantes 2