Magik
Зарегистрирован: 11.02.2005 Сообщения: 3
|
Добавлено: Пт Фев 11 2005 11:52 Заголовок сообщения: Использование курсоров в SQL (Oracle)...HELP! |
|
|
Всем привет!
Мне надо сделать выборку(select) из нескольких таблиц. а потом вывести их в браузер(с помощью html) по 20 записей на страницу.
Т.е. допустим у меня есть 4 таблицы, я делаю выборку по нескольким полям. получаю,например, 50 записей. (получается 3 страницы).
Меня интересует какие есть варианты решения???
1. А) я создаю функцию, в ней создаю явный курсор, который делает мою выборку. получаю свои записей. Дальше я считаю сколько у меня записей в курсоре(кстати, это можно сделать или нет?)
Б) Потом я в этой же функции обащаюсь к курсору и с помощью функции FETCH вытаскиваю в цикле по одной записи. В количестве 20 записей. и потом вывожу их в браузер. вроде можно FETCH заменить на записи и таблицу(RECORD и TABLE)
Главное, мне интересно как оптимально и эффективно сделать выборку и как из этой выборки вытащить по 20 записей. (вывод в брузер не важен)
чтобы вытаскивать по 20 записей, можно при создании курсора ввести еще одно поле, в котором будет нумерация моих записей. а потом в цикле сделать что нить такое: ROWNUM поле <= 20...
Наверное, тут самое важное, чтобы курсор создавался один раз.. а потом я все время к нему только обращался. но как это сделать?...
и где мне к нему обращаться... в той же функции, где я его создаю или можно из другой???...
2. вроде это можно сделать с помощью view. только как пока не знаю...
Счас хотя бы расскажите с помощью чего это делать(курсор или view)... и последовательность выполнения действий....
В общем, тут много "воды" и пока одни вопросы... но ГУРУ SQL... прошу, не бросайте в беде начинающих программеров... )))))))))))
ВСЕМ ответившим - СПАСИБО!!! |
|