Insert com While/For Do

Firebird

16/08/2013

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
Adriano Souza

Adriano Souza

Curtidas 0

Respostas

Adriano Souza

Adriano Souza

16/08/2013

Então pessoal, alguma dica?? É urgente meu problema...

Me ajudem por favor....

Obrigado.

GOSTEI 0
Emerson Nascimento

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.

GOSTEI 0
Adriano Souza

Adriano Souza

16/08/2013

Obrigado!!

Vou tentar.

Adriano
GOSTEI 0
POSTAR