Форум: "Базы";
Текущий архив: 2009.05.17;
Скачать: [xml.tar.bz2];
ВнизВопрос по работе с 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.004 c