После открытия указатель текущей строки установлен перед первой строкой курсора. Стандартно
оператор FETCH перемещает указатель текущей строки на следующую строку и присваивает
базовым переменным значение столбцов, соответствующее текущей строке.
Простой оператор
FETCH имеет следующий синтаксис:
FETCH <имя_курсора>
INTO <список переменных базового языка >
Оператор
извлечения очередной строки из курсора будет выглядеть следующим образом:
FETCH Debtor_reader_cursor into @FIRSTJAME,
@LAST_NAME.
@ADRES. @HOME_PHON. @WORK PHON, @TITLE
Расширенный
оператор FETCH имеет следующий синтаксис:
FETCH
[NEXT | PRIOR
| FIRST | LAST
| ABSOLUTE (n
| <имя_переменной>)
|RELATIVE{n|<имя
_nepeмeнной>}] FROM
<имя_курсора>
INTO <список базовых переменных>
Здесь параметр
NEXT задает выбор следующей строки после текущей из базового набора строк, связанного
с курсором. Параметр PRIOR задает перемещение на предыдущую строку по отношению
к текущей. Параметр FIRST задает перемещение на первую строку набора, а параметр
LAST задает перемещение на последнюю строку набора.
Кроме того,
в расширенном операторе перемещения допустимо переместиться сразу на заданную
строку, при этом допустима как абсолютная адресация, заданием параметра ABSOLUTE,
так и относительная адресация, заданием параметра RELATIVE. При относительной
адресации положительное число сдвигает указатель вниз от текущей записи, отрицательное
число сдвигает вверх от текущей записи.
Однако для
применения расширенного оператора FETCH в соответствии со стандартом SQL2 описание
курсора обязательно должно содержать ключевое слово SCROLL. Иногда такие курсоры
называют в литературе прокручиваемыми курсорами. В стандарт эти курсоры вошли
сравнительно недавно, поэтому в коммерческих СУБД очень часто операторы по работе
с подобными курсорами серьезно отличаются. Правда, реалии сегодняшнего дня заставляют
поставщиков коммерческих СУБД более строго соблюдать последний стандарт SQL.
В технической документации можно встретить две версии синтаксиса оператора FETCH:
одну, которая соответствует стандарту, и другую, которая расширяет стандарт
дополнительными возможностями, предоставляемыми только данной СУБД для работы
с курсором.
Если вы предполагаете,
что ваша БД может быть перенесена на другую платформу, а это надо всегда предусматривать,
то лучше пользоваться стандартными возможностями. В этом случае ваше приложение
будет более платформенно-независимым и легче будет его перенести на другую СУБД.
Релятивисты и позитивисты утверждают, что "мысленный эксперимент" весьма полезный интрумент для проверки теорий (также возникающих в нашем уме) на непротиворечивость. В этом они обманывают людей, так как любая проверка может осуществляться только независимым от объекта проверки источником. Сам заявитель гипотезы не может быть проверкой своего же заявления, так как причина самого этого заявления есть отсутствие видимых для заявителя противоречий в заявлении.
Это мы видим на примере СТО и ОТО, превратившихся в своеобразный вид религии, управляющей наукой и общественным мнением. Никакое количество фактов, противоречащих им, не может преодолеть формулу Эйнштейна: "Если факт не соответствует теории - измените факт" (В другом варианте " - Факт не соответствует теории? - Тем хуже для факта").
Максимально, на что может претендовать "мысленный эксперимент" - это только на внутреннюю непротиворечивость гипотезы в рамках собственной, часто отнюдь не истинной логики заявителя. Соответсвие практике это не проверяет. Настоящая проверка может состояться только в действительном физическом эксперименте.
Эксперимент на то и эксперимент, что он есть не изощрение мысли, а проверка мысли. Непротиворечивая внутри себя мысль не может сама себя проверить. Это доказано Куртом Гёделем.
Понятие "мысленный эксперимент" придумано специально спекулянтами - релятивистами для шулерской подмены реальной проверки мысли на практике (эксперимента) своим "честным словом". Подробнее читайте в FAQ по эфирной физике.