Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Как узнать количество строк хранящихся в курсоре?  [new]
Landgraf
Member

Откуда:
Сообщений: 278
Добрый день Уважаемые участники форума!

Заранее извиняюсь за некомпетентный вопрос, но у новичков они очень часто возникают ;)

Есть ли функция (либо атрибут), которая-бы показывал(а) сколько отобранных строк, включает в себя курсор после открытия?
Я знаю есть атрибут %Rowcount, но он показывает кол-во считанных строк на данный момент.
т.е.

Open Cursor;
dbms_output.put_line(Cursor%Rowcount);
/*Покажет ноль! Т.к. не было считано ни одной строки*/
/*Как узнать сколько строк храниться в курсоре?*/
Close Cursor;
29 янв 07, 17:02    [3709003]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать количество строк хранящихся в курсоре?  [new]
dmidek
Member

Откуда: Киев - Дортмунд
Сообщений: 116244
Нет, так нельзя.
Только COUNT
29 янв 07, 17:04    [3709018]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать количество строк хранящихся в курсоре?  [new]
Landgraf
Member

Откуда:
Сообщений: 278
Получается, после begin-a , делаем Count с тем-же select-ом что и в курсоре, а потом если <>0 тогда идем дальше?

Наверно это будет долго :)
29 янв 07, 17:09    [3709054]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать количество строк хранящихся в курсоре?  [new]
alex-ls
Member

Откуда: Иркутская обл - Пенза - Москва
Сообщений: 6914
Landgraf
Получается, после begin-a , делаем Count с тем-же select-ом что и в курсоре, а потом если <>0 тогда идем дальше?
Наверно это будет долго :)

WHERE rownum = 1
29 янв 07, 17:10    [3709066]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать количество строк хранящихся в курсоре?  [new]
dmidek
Member

Откуда: Киев - Дортмунд
Сообщений: 116244
Landgraf
Получается, после begin-a , делаем Count с тем-же select-ом что и в курсоре, а потом если <>0 тогда идем дальше?

Наверно это будет долго :)


Так что Вам нужно, количество или есть /нет ?
Если второе , то Вы все равно выходите по NOTFOUND после первого FETCHa.
29 янв 07, 17:13    [3709087]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать количество строк хранящихся в курсоре?  [new]
alex-ls
Member

Откуда: Иркутская обл - Пенза - Москва
Сообщений: 6914
dmidek
Если второе , то Вы все равно выходите по NOTFOUND после первого FETCHa.

самое лучшее здесь это неявный курсор FOR. и вообще ничего тогда не надо
29 янв 07, 17:17    [3709132]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать количество строк хранящихся в курсоре?  [new]
Landgraf
Member

Откуда:
Сообщений: 278
Люди СПАСИБО за советы!
29 янв 07, 17:35    [3709269]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить