Что такое курсор с возможностью прокрутки PDO?

То, что отправил Jason Pratt, корректно.

>>> class Test(object):
...   def a(self):
...     pass
... 
>>> def b(self):
...   pass
... 
>>> Test.b = b
>>> type(b)
<type 'function'>
>>> type(Test.a)
<type 'instancemethod'>
>>> type(Test.b)
<type 'instancemethod'>

, Как Вы видите, Python не считает b () несколько отличающимся, чем (). В Python все методы являются просто переменными, которые, оказывается, функции.

20
задан j0k 3 September 2012 в 21:13
поделиться

2 ответа

Он создает курсор для запроса, который позволяет вам перебирать набор результатов, не извлекая сразу весь результат. Прокручиваемый курсор , в частности, тот, который позволяет выполнять итерацию в обратном направлении.

Пример использования: вы можете прокручивать вперед, пока не найдете нужную запись, и возвращаться, чтобы получить предыдущие записи, если они вам нужны, тоже.

16
ответ дан 30 November 2019 в 00:48
поделиться

Википедия дает следующее:

С не прокручиваемым курсором также известен как "только вперед", можно ПОЛУЧИТЬ каждую строку не более одного раза, а курсор автоматически переходит к немедленному следующий ряд. Операция выборки после последняя строка была получена помещает курсор после последнего строка и возвращает SQLSTATE 02000 (SQLCODE +100).

И это:

Программа может позиционировать прокручиваемый курсор в любом месте результирующего набора с помощью оператора FETCH SQL.

Вы должны прочитать статью, на которую ссылались ранее, но она также выглядит интересной информацией:

Прокручиваемые курсоры потенциально могут доступ к той же строке в наборе результатов многократно. Таким образом, данные модификации (вставить, обновить, удалить операции) из других транзакций может повлиять на результат set.

В PHP вы можете использовать прокручиваемые курсоры с PDO с помощью подготовленных операторов (см. PDOStatement :: fetch ):

Чтобы запросить прокручиваемый курсор для ваш объект PDOStatement, вы должны установить атрибут PDO :: ATTR_CURSOR для PDO :: CURSOR_SCROLL при подготовке оператор SQL с PDO :: prepare ().

(есть также пример ниже на этой странице)

Что кажется интересным, так это возможность «прокручивать» набор результатов без необходимости получать все данные в память для перебора.

9
ответ дан 30 November 2019 в 00:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: