このようなテーブルがあります
Name Qty
----- -----
BD 2
SD 1
XE 3
Qty
フィールド値に応じて繰り返されるこのテーブル レコードを返す必要があります。たとえば、最初の行はすべて同じ値で 2 回繰り返されます。
FOR Select
戻りパラメータを持つストアド プロシージャ内でネストされたものを使用することを考えていました
For Select name, qty from mytable into :name, :qty do
begin
if (qty > 1 ) then begin
i = 1; -- should I start from 2 ?
while (i <= :qty) do
begin
for select name, qty from mytable into :name1, :qty1 do ...
SUSPEND;
i = i + 1;
end
end
SUSPEND;
end
このストアド プロシージャは正しい結果を返すことができますか、それとも別の方法を使用する必要がありますか?
私は FireBird 2.5 を使用していますが、以前の SQL のタイプミスは破棄してください。主なアイデアだけを探しています。