Размер курсора (количество результатов) - PullRequest
3 голосов
/ 19 июля 2011

Как узнать размер курсора (количество результатов)?

c CURSOR IS SELECT foo FROM mytable WHERE name='ok';

Ответы [ 2 ]

2 голосов
/ 19 июля 2011

В моем понимании, курсор НЕ является результатом. Вы можете использовать курсор, чтобы ПОЛУЧИТЬ свои результаты строка за строкой, и в конце этой строки за операциями строки вы знаете, сколько результатов вы получили.

Чтобы узнать, сколько записей вы (возможно) получите, вы можете использовать

select count(*) from ... where ...

при условии, что у вас есть индекс по имени столбца, вы также можете написать:

select count(name) from foo where name = 'ok'
1 голос
/ 26 января 2015

Если вы хотите получить общее количество результатов без выдачи отдельного запроса на подсчет, вы можете:

SELECT count(1) OVER (), ... FROM ... WHERE ...

Количество не будет затронуто условиями ORDER / LIMIT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...