Как получить следующую и предыдущую запись из курсора?

У меня есть таблица с именем testtransaction, в которой хранятся pervQuestionId и NextQuestionId... Как вставить записи в эту таблицу через курсор? есть что-то cursoe.getnext()... как мне это реализовать? Мой код показан ниже:

 create or replace function store_data(disciplineid in char,
                                       NoOfQuestions in number)
  is
  cur_out sys_refcursor;
 begin         
     open cur_out for
     select getguid() tmp,
     QuestionNo,Disciplineid
     from tbliffcoQuestionmaster
     where (DisciplineId=discipline1 AND  rownum <= disc1_NoOfQuestions)
     order by tmp ;
 ///now it should insert records.
end;

1 ответ

Я не хочу полностью писать ответ, потому что это домашнее задание, и вы должны делать эту работу. Один из основных форматов цикла курсора:

LOOP
   FETCH cursor INTO x;
   EXIT WHEN cursor%NOTFOUND;
   --do something
END LOOP;

Может быть, это приведет вас на правильный путь. Поиск в Google для "курсора Oracle" должен дать вам десятки примеров того, как используются курсоры.

Другие вопросы по тегам