Oracle Cursor против SQL Server Cursor - PullRequest
1 голос
/ 04 января 2012

Я новичок в Oracle, и мне было интересно, есть ли у Oracle опции для таких курсоров, как SQLSERVER .Вот такие:

[ LOCAL | GLOBAL ]<br> [ FORWARD_ONLY | SCROLL ]<br> [ STATIC | KEYSET | DYNAMIC | FAST_FORWARD ]<br> [ READ_ONLY | SCROLL_LOCKS | OPTIMISTIC ]<br> [ TYPE_WARNING ]<br> FOR select_statement<br> [ FOR UPDATE [ OF column_name [ ,...n ] ] ]

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

Ответы [ 2 ]

10 голосов
/ 04 января 2012

У явных курсоров в Oracle нет метаданных, связанных с ними.Ниже приведен перевод, который переводит поведение Oracle в контекст T-SQL.

Курсоры Oracle не поддерживают прокрутку.Таким образом, они FORWARD_ONLY, без обсуждения.Это означает, что SCROLL, FAST_FORWARD, SCROLL_LOCKS и KEYSET не применяются.

Все курсоры Oracle являются ЛОКАЛЬНЫМИ.

Из-за уровня изоляции Oracle, курсоры эквивалентны НЕДОСТАТОЧНО и СТАТИЧЕСКИ.

Курсоры являются ОПТИМАЛЬНЫМИ, если мы не используем синтаксис SQL FOR UPDATE, который блокирует выбранные строки. Узнать больше

Курсоры READ_ONLY.Они предназначены только для получения данных.Мы можем использовать синтаксис WHERE CURRENT OF, чтобы обновить строку, указанную курсором.Лучше всего использовать вместе с FOR UPDATE. Узнайте больше .

Вы не удивитесь, узнав, что TYPE_WARNING не применяется (потому что больше ничего не применяется).

0 голосов
/ 04 января 2012

Всю эту информацию можно найти ЗДЕСЬ и особенно ЗДЕСЬ или ЗДЕСЬ .

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