Название: Подскажите новичку пожалуйста как вызвать хранимую функцию Отправлено: havok от Март 16, 2010, 10:00 Здравия всем ответившим!
Изучаю Qt + Oracle. Как вызывать хранимую процедуру понял. Вот так: Код: QSqlQuery query; А вот как вызвать хранимую функцию, что-то не пойму. Она описана в пакете WFP_DARBA_UZD следующим образомЖ Код: function get_my_neizpild_tasks return number Название: Re: Подскажите новичку пожалуйста как вызвать хранимую функцию Отправлено: break от Март 16, 2010, 10:36 в FB можно делать так (как в Oracle не знаю - по идее так же)
select * from STARAGE_PROC_NAME или select * from STARAGE_PROC_NAME( param1, param2 ) Название: Re: Подскажите новичку пожалуйста как вызвать хранимую функцию Отправлено: Troglodit от Март 16, 2010, 11:30 оракл не знаю, но во многих СУБД получить результат можно следующим запросом:
select function_name(param1,...,paramN) в вашем случае select wfp_kl_list.search_watch_kl(?,?) Название: Re: Подскажите новичку пожалуйста как вызвать хранимую функцию Отправлено: MoPDoBoPoT от Март 16, 2010, 14:49 Не в тему:
Цитировать query.prepare("CALL wfp_kl_list.search_watch_kl(?,?)"); Почему используешь позиционное связываение, ведь Oracle поддерживает именованное.По теме: А вот как вызвать хранимую функцию, что-то не пойму. Есть два способа, один из которых зависит от уровня строгости функции в твоем пакете (инфо (http://www.firststeps.ru/sql/oracle/r.php?100)), а другой универсальный (но, по-моему, он будет чуть медленней).Она описана в пакете WFP_DARBA_UZD 1-ый способ: Код Так можно делать, если функция wfp_darba_uzd.get_my_neizpild_tasks() не модифицирует таблицы базы данных. 2-ой способ: Код
Название: Re: Подскажите новичку пожалуйста как вызвать хранимую функцию Отправлено: havok от Март 17, 2010, 06:00 select wfp_kl_list.search_watch_kl(?,?) Понятно.1-ый способ: Работает!Почему используешь позиционное связываение, ведь Oracle поддерживает именованное. Вот этого я не знал...Большое спасибо ответившим!!! |