у меня такая таблица
Name Qty
----- -----
BD 2
SD 1
XE 3
Мне нужно вернуть записи этой таблицы, повторяющиеся в соответствии со значением поля Qty
. например, первая строка будет повторяться дважды со всеми одинаковыми значениями.
Я думал использовать вложенную 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. Я смотрю только на основную идею.