Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ветвление в хранимой процедуре. Каким образом? [D5, IB6.x]


Карелин Артем ©   (2002-11-04 14:26:00) 

Делаю хранимые процедуры для FireBird. Вопрос в том, как мне в зависимости от параметров формировать разные наборы данных.
Скажем если режим поиска ="1"(к примеру), то выводим все значения, если "2" - то скажем добавляем where field1=:param1.
Ну а если будет "3" - делаем поиск по 10 полям.
Можно конечно сделать n простых процедур, но я так не хочу.

Вот такие тараканы. Диалект 1.


Карелин Артем   (2002-11-04 14:58:00) [1]

УГУ. ТО, что надо. :super:


elv   (2002-11-04 14:57:00) [2]

CREATE PROCEDURE NEW_PROCEDURE (
PAR INTEGER)
RETURNS (
FIELD VARCHAR(10))
AS
begin
if (Par =1) then
begin
for Select FIELD from TABLE into FIELD do suspend;
end

if (Par =2) then
begin
for Select FIELD from TABLE where TABLE.FIELD=:par into FIELD do suspend;
end
end



Ты так что ли хочешь?


Romkin   (2002-11-04 14:41:00) [3]

Если условий немного...
create procedure AAA(Flag integer)
returns (...)
as
begin
if (Flag = 1) then
for select ... from ...
into ...
do suspend;
if (Flag = 1) then
for select ... from ...
where AField = :AParam
into ...
do suspend;
...
end
примерно так


Наверх

Титульная страница Поиск, карта сайта Написать письмо