![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Еще вопрос по хранимой процедуре в InterBase! [D6, IB6.x]
Z_man7777 © (2003-04-12 11:42:00)Здравствуйте, Уважаемые Мастера!!! Пишу сейчас процедуру в InterBase(FireBird) и мне понадобилась Ваша помощь.
Процедура, которая будет искать данные в определенной таблице по всем полям. В качестве входных параметров передаю значения соответсвенно полям в этой таблице. Перед <select> формирую <where>. Проверяю, какие параметры не пустые и назначаю в ранее объявленную переменную типа <blob sub_type 1>. Ниже приведен кусок кода. Обратите Ваше внимание на выделенный текст. Подскажите что не верного. А если у кого есть уже готовый пример поиска данных в виде процедуры, то поделитесь, пожалуйста. Всем заранее спасибо!!!
...
If (:PID is not null) then SQLText="a.Id like ""%""||:PID||""%"""; If (:PStatus is not null) then SQLText= SQLText+" or a.Status ike ""%""||:PStatus||""%""";
If (:SQLText <> "") then For Select Id,Status from clients where (:SQLText)
где: PID, PStatus - входные параметры
SQLText blob sub_type 1 - объявлена в Declare Variable
Z_man7777 (2003-04-14 09:09:00) [1]Все понятно. Значит нельзя так делать. Очень обидно!!! Видимо мне еще нужно практиковаться и практиковаться с InterBase-ом.
Спасибо всем!!!
Zacho (2003-04-14 08:01:00) [2]
> Sergey Masloff (14.04.03 07:49)
Из FB 1.5 Beta 4 Release Notes:
* Improved EXECUTE STATEMENT.
Now it"s possible to return values from the dynamic SQL.
Syntax:
EXECUTE STATEMENT INTO ; (singleton form)
or
FOR EXECUTE STATEMENT INTO DO ;
Contributor(s):
Alexander Peshkoff
Sergey Masloff (2003-04-14 07:49:00) [3]Z_man7777 ©
Нельзя формировать условие а потом исполнять запрос на сервере (в InterBase нельзя). Теоретически можно посмотреть ExecuteVarchar в FireBird 1.5 но из нее нельзя делать селект. Но можно сделать инсерт куда-нибудь а потом уже то что вставили отбирать для клиента. Или вообще формируй строку запроса отдавай ее клиенту и пусть он ее выполняет.
Z_man7777 (2003-04-14 07:00:00) [4]Мастера-программеры помогите, плызззззз!!!
Помоги мне в решении моей проблемы. Все описано выше. Чем можете помогите, я буду очень Вам благодарен. В мануале искал не нашел, а где-то искать еще, у меня просто время поджимает!
Заранее Всем Спасибо!!!
Z_man7777 (2003-04-14 06:23:00) [5]!Alexandr!
Если есть пример, поделитесь пожалуйста!!! Чтобы я не задавал глупых вопросов, а то искал что-то подобное в мануале, но поиски мои не дали никаких плодов.
Спасибо!
Alexandr (2003-04-12 12:08:00) [6]1) where (:SQLText) вот это неверно. Так нельзя.
2) Ты б документацию почитал, а то тебя заносит шибко...