![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ветвление в хранимой процедуре. Каким образом? [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
примерно так