Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.05.17;
Скачать: CL | DM;

Вниз

Вопрос по работе с ADOStoredProc для СУБД Oracle   Найти похожие ветки 

 
Razrab7 ©   (2008-09-05 15:16) [0]

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


 
Ega23 ©   (2008-09-05 15:18) [1]

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


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

select myfrunctionname from dual


 
Razrab7 ©   (2008-09-05 15:25) [3]

Ega23

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


 
Razrab7 ©   (2008-09-05 15:27) [4]

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

select myfrunctionname from dual

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


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


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

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


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

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

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


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


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

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


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

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


 
Razrab7 ©   (2008-09-05 15:54) [9]

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

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


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

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

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


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

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

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



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

Текущий архив: 2009.05.17;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.015 c
15-1237178607
hinst
2009-03-16 07:43
2009.05.17
Pascal operating system


4-1209915823
тимохов
2008-05-04 19:43
2009.05.17
InvalidateRect + потоки


15-1237007629
@!!ex
2009-03-14 08:13
2009.05.17
Удаленное управление закачками.


3-1220958466
BUM
2008-09-09 15:07
2009.05.17
Помогите с запросом


15-1236677968
It's me
2009-03-10 12:39
2009.05.17
Восстановление БД по индексам?