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

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

Хранимые процедуры в Interbase [IB6.x]


a3a3ello ©   (2004-11-22 14:27:00) 

Можно ли и как в ХП Interbase сформировать текст SQL запроса в зависимости от переданных параметров. Например в зависимости от Param= 1 или 0, В итоговом запросе присутствует или отсутствует поле field1.

Спасибо.


vuk   (2004-11-22 17:35:00) [1]

to Vemer ©   (22.11.04 17:16) [10]:
>Не MS-SQL.
В MSSQL тоже есть некоторые проблемы с использованием динамически формируемых запросов. Проблема с правами. Там такие запросы будут выполняться не с правами владельца процедуры, а с правами вызывающего пользователя.


Vemer   (2004-11-22 17:16:00) [2]

To msguns:
под IB/FB такое не приветствуеться. Не MS-SQL.


msguns   (2004-11-22 15:29:00) [3]

А не проще ли создать ХП, потом ее выполнить, ну и грохнуть ее в конце ?
А, что, обычный динамический запрос Кораном запрещен ?


stud   (2004-11-22 15:21:00) [4]


> и даже если ты откажешься от IB в пользу FB 1.5.1 (в
> надежде заюзать EXECUTE STATEMENT), то от кучи IFов
> тебе все равно не избавиться.

тут можно строку запроса формировать на клиенте и передавать ее в качестве параметра. но тогда возникает вопрос по поводу выходных параметров


Digitman   (2004-11-22 14:54:00) [5]


> a3a3ello   (22.11.04 14:44) [3]
> Похоже, Johnmen предлагает написать два запроса и выполнять
> один из них в зависимости от значение Param.
> Мне это не подходит т.к. на самом деле параметров много
> и у каждого несколько значений. Т.е. записывать все варианты
> запросов несколько обременительно


и правильно предлагает.
и даже если ты откажешься от IB в пользу FB 1.5.1 (в надежде заюзать EXECUTE STATEMENT), то от кучи IFов тебе все равно не избавиться.


stud   (2004-11-22 14:51:00) [6]

execute staitment и выбирай что хочеш откуда хочеш если использовать FB 1.5


Johnmen   (2004-11-22 14:49:00) [7]

>a3a3ello

В IB по-другому невозможно.


a3a3ello   (2004-11-22 14:44:00) [8]

Похоже, Johnmen предлагает написать два запроса и выполнять один из них в зависимости от значение Param.
Мне это не подходит т.к. на самом деле параметров много и у каждого несколько значений. Т.е. записывать все варианты запросов несколько обременительно.


Жук   (2004-11-22 14:44:00) [9]

2 Автор
А зачем ?


msguns   (2004-11-22 14:37:00) [10]

>Johnmen ©   (22.11.04 14:34) [1]

И как же в приведенном тобою примере решается вопрос "фантомности" поля field1 ? &;)


Johnmen   (2004-11-22 14:34:00) [11]

IF (Param=1) THEN SELECT #1
ELSE SELECT #2


Наверх

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