Ключевое слово INSENSITIVE
Ключевое слово INSENSITIVE указывает на то, что временная копия данных, возвращенных инструкцией SELECT, уже создана. В результате смещения курсора не будут чувствительны к каким-либо изменениям в исходных таблицах, которые могут случиться в ходе работы с курсором. По умолчанию подразумевается ключевое слово SENSITIVE, которое указывает на то, что все последующие смещения будут использовать фактические данные, существующие на данный момент времени. Так как операции в памяти выполняются гораздо быстрее, чем дисковые, рекомендуется, когда такое возможно, использовать первый вариант с целью экономии ресурсов и ускорения выполнения операций. Ключевое слово SCROLL определяет курсор как прокручиваемый, подразумевая доступность дополнительного типа смещения (о чем будет сказано далее). Ключевое слово READ ONLY предотвращает возможность изменения данных в курсоре, а UPDATE определяет обновляемые столбцы в курсоре. Синтаксис стандарта SQL:2003 применим и в Transact-SQL (хотя последний имеет множество дополнительных параметров курсора, не существующих в стандарте SQL:2003 и не рассматриваемых в настоящей книге). Объявление курсора в Oracle существенно отличается.
Итак, ключевое слово DECLARE опущено; также вместо FOR используется IS. В PL/SQL нельзя определить прокручиваемый курсор, зато он может принимать параметры и возвращать значения. В IBM DB2 также невозможно создание прокручиваемого курсора. За исключением этого, синтаксис аналогичен стандарту SQL:2003. Инструкция OPEN выполняет заданный в определении курсора запрос и идентифицирует результирующий набор данных, состоящий из всех строк, возвращенных инструкцией SELECT, как курсор. Базовый синтаксис идентичен во всех трех ведущих реализациях СУБД.