Insert com While/For Do
Boa tarde Galera,
Sou muito iniciante com banco de dados e preciso da ajuda de vocês.
Preciso inserir dados numa tabela que vem de outras de acordo com a quantidade de produtos em estoque.
Exemplo: Para cada caixa no estoque (tenho 4 por exemplo) quero gerar um registro na tabela "etiquetas".
Seria mais ou menos isso, mas sempre retorna erro no ibexpert.
execute block
as
declare i int = 0;
begin
delete * from merccodbimp
while (i < mercloja.pestqtd ) do
insert into merccodbimp ( mercadoria, mercgrade, merccodb, loja, tabela, preco)
SELECT MERCADORIA, MERCGRADE, MERCGRADE, loja, TABELA, PRECO
FROM MERCPREC INNER JOIN MERCLOJA ON (( MERCPREC.loja = MERCLOJA.LOJA ) AND
(MERCPREC.MERCADORIA=MERCLOJA.MERCADORIA)) AND MERCPREC.MERCGRADE=MERCLOJA.MERCGRADE
WHERE TABELA=' 1' AND MERCADORIA = ' 1' ;
i = i + 1;
end
O while deve fazer looping para cada item em estoque de acordo com sua quantidade.
Se puderem me ajudar, agradeço!!
Adriano
Sou muito iniciante com banco de dados e preciso da ajuda de vocês.
Preciso inserir dados numa tabela que vem de outras de acordo com a quantidade de produtos em estoque.
Exemplo: Para cada caixa no estoque (tenho 4 por exemplo) quero gerar um registro na tabela "etiquetas".
Seria mais ou menos isso, mas sempre retorna erro no ibexpert.
execute block
as
declare i int = 0;
begin
delete * from merccodbimp
while (i < mercloja.pestqtd ) do
insert into merccodbimp ( mercadoria, mercgrade, merccodb, loja, tabela, preco)
SELECT MERCADORIA, MERCGRADE, MERCGRADE, loja, TABELA, PRECO
FROM MERCPREC INNER JOIN MERCLOJA ON (( MERCPREC.loja = MERCLOJA.LOJA ) AND
(MERCPREC.MERCADORIA=MERCLOJA.MERCADORIA)) AND MERCPREC.MERCGRADE=MERCLOJA.MERCGRADE
WHERE TABELA=' 1' AND MERCADORIA = ' 1' ;
i = i + 1;
end
O while deve fazer looping para cada item em estoque de acordo com sua quantidade.
Se puderem me ajudar, agradeço!!
Adriano
Adriano Souza
Curtidas 0
Respostas
Adriano Souza
16/08/2013
Então pessoal, alguma dica?? É urgente meu problema...
Me ajudem por favor....
Obrigado.
Me ajudem por favor....
Obrigado.
GOSTEI 0
Emerson Nascimento
16/08/2013
creio que isso só seja possível numa Stored Procedure.
você deverá trabalhar com 'for select' em conjunto com while.
você deverá trabalhar com 'for select' em conjunto com while.
GOSTEI 0
Adriano Souza
16/08/2013
Obrigado!!
Vou tentar.
Adriano
Vou tentar.
Adriano
GOSTEI 0