Консультация № 149766
07.11.2008, 12:57
0.00 руб.
0 1 1
Доброго времени суток!

База данных Firebird.
Как мне в хранимой процедуре вывести записи в зависимости от семестра
Код:
SELECT Kredit_1, Kredit_2 WHERE Kredit_1>0 and Kredit_2>0
- для первого семестра
Код:
SELECT Kredit_3, Kredit_4 WHERE Kredit_3>0 and Kredit_4>0
- для второго семестра
...
Код:
SELECT Kredit_(n*2-1), Kredit_(n*2) WHERE Kredit_(n*2-1)>0 and Kredit_(n*2)>0
- для n-го семестра
Входные параметры в процедуру семестр.

Зарание спасибо!

Обсуждение

Неизвестный
07.11.2008, 13:14
общий
это ответ
Здравствуйте, LEXASOFT!
Конструкция EXECUTE STATEMENT поддерживается FB1.5 и старшими (а может была и раньше, просто у меня документации ранней нету):

stmt='SELECT Kredit_'||(n*2-1)||', Kredit_'||(n*2)||' WHERE Kredit_'||(n*2-1)||'>0 and Kredit_'||(n*2)||'>0';
for execute statement stmt into :k_first, :k_second do begin
……………………
end
Форма ответа