Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.05.01;
Скачать: [xml.tar.bz2];

Вниз

Еще вопрос по хранимой процедуре в InterBase!   Найти похожие ветки 

 
Z_man7777   (2003-04-12 11:42) [0]

Здравствуйте, Уважаемые Мастера!!! Пишу сейчас процедуру в 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


 
Alexandr   (2003-04-12 12:08) [1]

1) where (:SQLText) вот это неверно. Так нельзя.
2) Ты б документацию почитал, а то тебя заносит шибко...


 
Z_man7777   (2003-04-14 06:23) [2]

!Alexandr!
Если есть пример, поделитесь пожалуйста!!! Чтобы я не задавал глупых вопросов, а то искал что-то подобное в мануале, но поиски мои не дали никаких плодов.
Спасибо!


 
Z_man7777   (2003-04-14 07:00) [3]

Мастера-программеры помогите, плызззззз!!!
Помоги мне в решении моей проблемы. Все описано выше. Чем можете помогите, я буду очень Вам благодарен. В мануале искал не нашел, а где-то искать еще, у меня просто время поджимает!
Заранее Всем Спасибо!!!


 
Sergey Masloff   (2003-04-14 07:49) [4]

Z_man7777 ©
Нельзя формировать условие а потом исполнять запрос на сервере (в InterBase нельзя). Теоретически можно посмотреть ExecuteVarchar в FireBird 1.5 но из нее нельзя делать селект. Но можно сделать инсерт куда-нибудь а потом уже то что вставили отбирать для клиента. Или вообще формируй строку запроса отдавай ее клиенту и пусть он ее выполняет.


 
Zacho   (2003-04-14 08:01) [5]


> 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


 
Z_man7777   (2003-04-14 09:09) [6]

Все понятно. Значит нельзя так делать. Очень обидно!!! Видимо мне еще нужно практиковаться и практиковаться с InterBase-ом.
Спасибо всем!!!



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.05.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
7-797
Zyb
2003-03-04 18:10
2003.05.01
Как принять тональный сигнал с телефона


7-802
oduvanchik_pro
2003-03-12 15:38
2003.05.01
Работа с драйверами


7-822
Opera
2003-03-12 15:54
2003.05.01
Вин дир


14-777
Sergo
2003-04-15 11:21
2003.05.01
BIOS


1-538
Rocker
2003-04-18 11:36
2003.05.01
Помогите, пожалуйста, с работой Delphi+Word





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский