Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Курсоры в хранимках / 3 сообщений из 3, страница 1 из 1
23.12.2003, 15:31
    #32360996
nwill
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Курсоры в хранимках
Здравствуйте!

Я до недавнего времени в оракле работал. Там в разделе описания переменных можно описать именованый курсор, типа

cursor MyCursor is
select ... from ...

BEGIN
open MyCursor;
loop
fetch ...;
exit when MyCursor%notfound;
....
end loop;
close MyCursor;
END;

Подскажите, пожалуйста, аналогичное в IB. Необходимо переделать мою хранимку под IB меньшей кровью :)

Заранее большое спасибо.
...
Рейтинг: 0 / 0
23.12.2003, 15:32
    #32360999
Roman Ignatiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Курсоры в хранимках
for select - просто цикл по результатам запроса
...
Рейтинг: 0 / 0
24.12.2003, 15:55
    #32362250
KiLLun
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Курсоры в хранимках
пример хранимки:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
CREATE PROCEDURE REPORT_PLAN
RETURNS (
    DATA1 INTEGER,
    DATA2 VARCHAR( 500 ),
    DATA3 VARCHAR( 500 ),
    DATA4 VARCHAR( 500 ))
AS
declare variable k1 integer;
declare variable k2 integer;
declare variable k3 integer;
declare variable kv integer;
declare variable kv1 integer;
begin
  data1= 0 ;
  for select ind from objects where typeind= 63  into :k1 do begin


  select count(ind) from pvalues where ind= 1193  and objectind=:k1 into :k2;
  if (k2> 0 ) then begin
  data1=data1+ 1 ;
  select parentind from objects where ind=:k1 into :k3;
  select pval from get_one_param_value( 642 ,:k3) into :data2;
  select count(ind) from pvalues where ind= 734  and objectind=:k1 into :k2;
  if (k2> 0 ) then begin
  select pval from get_one_param_value( 734 ,:k3) into :data2;
  end
  select pval from get_one_param_value( 781 ,:k1) into :data3;
  select pval from get_one_param_value( 1193 ,:k1) into :data4;
              suspend;
             end
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Курсоры в хранимках / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]