-
Добрый день!
Подсоединяюсь к Oracle через компоненты ADO - ADOConnection и ADOQuery. Попытался при помощи ADOStoredProc выполнить хранимую функцию FNC_OBH_RZ. Выдается ошибка: "FNC_OBH_RZ is not a procedure or is undefined". Выходит, что ADOStoredProc работает только с хранимыми процедурами? Вопрос: а каким образом тогда работать с хранимыми функциями?
-
Уже почти 9 лет работаю с базами, но темин "хранимая функция" вижу впервые...
-
select myfrunctionname from dual
-
Ega23
Разве функция, находящаяся в определенной схеме на сервере БД Oracle не является хранимой? Не знаю насчет самого термина, но не сомневаюсь, что ты понял о чем мой вопрос. :)
Так можно с функциями работать или нельзя? И если да, то как?
-
Медвежонок Пятачок select myfrunctionname from dual
Ой-ёёё!!! Неужели все так просто? Туплю!
-
> Ega23 © (05.09.08 15:18) [1]
это то же самое, что ХП, только ее можно использовать в конструкции a:=b(x)
ну, и в оракле она таки create function xxx
-
Медвежонок Пятачок
А не, постой, не туплю! :) Дело в том, что в этой функции используются DML команды, а их нельзя из Select-а запускать, выдается ошибка. А жаль. :(
-
> в этой функции используются DML команды, а их нельзя из
> Select-а запускать
можно заюзать автономную транзакцию, но там много геморроя с бумерангами
-
begin
:res := myfunc (:foo, :bar);
end;
-
Правильный$Вася
Не, в моем случае быстрее на процедуру с выходным параметром переписать. Но вопрос принципа - через ADOStoredProc выходит никак? Может тогда есть какие-то другие компоненты? Мало ли в будущем пригодится.
-
Дело в том, что в этой функции используются DML команды,
тогда анонимный блок рисуй. если его конечно адо проглотит.
-
. Но вопрос принципа - через ADOStoredProc выходит никак?
новая процедура-обертка вокруг функции.