Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Получение курсора из хранимой процедуры Oracle (число прочтений - 1158 )
Lewkee
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 29
Зарегистрирован: 26. Февраля 2009
Получение курсора из хранимой процедуры Oracle
14. Мая 2009 :: 12:47
Печать  
Доброго времени суток всем.
Проблема в чем. Соединяюсь с БД Oracle из 1С7.7.
Прямыми селектами пользоваться никто не даст.
Есть хранимые процедуры, которые в параметр возвращают курсор (набор записей). (не сама процедура возврашает т.е.)
Подскажите, как мне получить этот курсор.
Не могу пока сам разобраться...
т.е. например процедура
get_city(v_data_from in varchar2,v_data_to in varchar2, strana in number, get_acc out CURSOR_TYPE)
Последний параметр и нужно получить. И было бы неплохо в ТЗ)
Заранее спасибо.
  
Наверх
www  
IP записан
 
alexdd
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 347
Зарегистрирован: 25. Июня 2007
Re: Получение курсора из хранимой процедуры Oracle
Ответ #1 - 14. Мая 2009 :: 14:32
Печать  
не знаю как для ОраклаУлыбка, для MSSQL примерно так
процедура
Код
Выбрать все
create procedure test_cur(@cur cursor varying out)
as
begin
set @cur = cursor local read_only scroll for
select top 10
 iddoc
from
 _1sjourn

open @cur
end
 



запрос:
Код
Выбрать все
declare @t table(iddoc char(9) not null)
declare @cur cursor,@cur_iddoc char(9)

exec test_cur @cur out
if cursor_status('variable','@cur') = 1
begin
 fetch next from @cur into @cur_iddoc

 while @@fetch_status = 0
 begin
   insert into @t values(@cur_iddoc)

   fetch next from @cur into @cur_iddoc
 end
end

close @cur
deallocate @cur

select * from @t
 


  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать