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

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

Вопрос по работе с ADOStoredProc для СУБД Oracle


Razrab7 ©   (2008-09-05 15:16:00) 

Добрый день!
Подсоединяюсь к Oracle через компоненты ADO - ADOConnection и ADOQuery. Попытался при помощи ADOStoredProc выполнить хранимую функцию FNC_OBH_RZ. Выдается ошибка: "FNC_OBH_RZ is not a procedure or is undefined". Выходит, что ADOStoredProc работает только с хранимыми процедурами? Вопрос: а каким образом тогда работать с хранимыми функциями?


Медвежонок Пятачок   (2008-09-05 15:59:00) [1]

. Но вопрос принципа - через ADOStoredProc выходит никак?

новая процедура-обертка вокруг функции.


Медвежонок Пятачок   (2008-09-05 15:58:00) [2]

Дело в том, что в этой функции используются DML команды,

тогда анонимный блок рисуй. если его конечно адо проглотит.


Razrab7   (2008-09-05 15:54:00) [3]

Правильный$Вася

Не, в моем случае быстрее на процедуру с выходным параметром переписать. Но вопрос принципа - через ADOStoredProc выходит никак? Может тогда есть какие-то другие компоненты? Мало ли в будущем пригодится.


Игорь Шевченко   (2008-09-05 15:49:00) [4]

begin
 :res := myfunc (:foo, :bar);
end;


Правильный$Вася   (2008-09-05 15:47:00) [5]


>  в этой функции используются DML команды, а их нельзя из
> Select-а запускать

можно заюзать автономную транзакцию, но там много геморроя с бумерангами


Razrab7   (2008-09-05 15:44:00) [6]

Медвежонок Пятачок

А не, постой, не туплю! :) Дело в том, что в этой функции используются DML команды, а их нельзя из Select-а запускать, выдается ошибка. А жаль. :(


Правильный$Вася   (2008-09-05 15:33:00) [7]


> Ega23 ©   (05.09.08 15:18) [1]

это то же самое, что ХП, только ее можно использовать в конструкции a:=b(x)
ну, и в оракле она таки create function xxx


Razrab7   (2008-09-05 15:27:00) [8]

Медвежонок Пятачок

select myfrunctionname from dual

Ой-ёёё!!! Неужели все так просто? Туплю!


Razrab7   (2008-09-05 15:25:00) [9]

Ega23

Разве функция, находящаяся в определенной схеме на сервере БД Oracle не является хранимой? Не знаю насчет самого термина, но не сомневаюсь, что ты понял о чем мой вопрос. :)
Так можно с функциями работать или нельзя? И если да, то как?


Медвежонок Пятачок   (2008-09-05 15:24:00) [10]

select myfrunctionname from dual


Ega23   (2008-09-05 15:18:00) [11]

Уже почти 9 лет работаю с базами, но темин "хранимая функция" вижу впервые...


Наверх

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