MOVE
MOVE — переместить курсор
Синтаксис
MOVE [направление] [ FROM | IN ]имя_курсораЗдесь допускаетсянаправление: NEXT PRIOR FIRST LAST ABSOLUTEчислоRELATIVEчислочислоALL FORWARD FORWARDчислоFORWARD ALL BACKWARD BACKWARDчислоBACKWARD ALL
Описание
MOVE перемещает курсор, не получая данные. Команда MOVE работает точно так же, как FETCH, но она не возвращает данные строк, а только перемещает курсор.
Команда MOVE поддерживает те же параметры, что и FETCH; за подробным описанием её синтаксиса и использования обратитесь к FETCH.
Выводимая информация
В случае успешного завершения, MOVE возвращает метку команды в виде
MOVE число
Здесь число показывает количество строк, которое бы выдала команда FETCH с такими же параметрами (оно может быть нулевым).
Примеры
BEGIN WORK; DECLARE liahona CURSOR FOR SELECT * FROM films; -- Пропустить первые 5 строк: MOVE FORWARD 5 IN liahona; MOVE 5 -- Выбрать 6-ю строку из курсора liahona: FETCH 1 FROM liahona; code | title | did | date_prod | kind | len -------+--------+-----+------------+--------+------- P_303 | 48 Hrs | 103 | 1982-10-22 | Action | 01:37 (1 row) -- Закрыть курсор liahona и завершить транзакцию: CLOSE liahona; COMMIT WORK;
Совместимость
Оператор MOVE отсутствует в стандарте SQL.
MOVE
MOVE — position a cursor
Synopsis
MOVE [direction] [ FROM | IN ]cursor_namewheredirectioncan be one of: NEXT PRIOR FIRST LAST ABSOLUTEcountRELATIVEcountcountALL FORWARD FORWARDcountFORWARD ALL BACKWARD BACKWARDcountBACKWARD ALL
Description
MOVE repositions a cursor without retrieving any data. MOVE works exactly like the FETCH command, except it only positions the cursor and does not return rows.
The parameters for the MOVE command are identical to those of the FETCH command; refer to FETCH for details on syntax and usage.
Outputs
On successful completion, a MOVE command returns a command tag of the form
MOVE count
The count is the number of rows that a FETCH command with the same parameters would have returned (possibly zero).
Examples
BEGIN WORK; DECLARE liahona CURSOR FOR SELECT * FROM films; -- Skip the first 5 rows: MOVE FORWARD 5 IN liahona; MOVE 5 -- Fetch the 6th row from the cursor liahona: FETCH 1 FROM liahona; code | title | did | date_prod | kind | len -------+--------+-----+------------+--------+------- P_303 | 48 Hrs | 103 | 1982-10-22 | Action | 01:37 (1 row) -- Close the cursor liahona and end the transaction: CLOSE liahona; COMMIT WORK;
Compatibility
There is no MOVE statement in the SQL standard.