FETCH

����

FETCH -- Ê¹ï¿½ï¿½ï¿½Î±ï¿½Ó²ï¿½Ñ¯ï¿½Ð¼ï¿½ï¿½ï¿½ï¿½ï¿½

���

FETCH [ direction [ FROM | IN ] ] cursor_name

���� direction ����Ϊ�ջ�������֮һ��

    NEXT
    PRIOR
    FIRST
    LAST
    ABSOLUTE count
    RELATIVE count
    count
    ALL
    FORWARD
    FORWARD count
    FORWARD ALL
    BACKWARD
    BACKWARD count
    BACKWARD ALL

����

FETCH��֮ǰ������һ���α��м����С�

�α����һ���������λ�ã�FETCH���õ���λ�á� �α�λ�ÿ��ܻ�λ�ڲ�ѯ����ĵ�һ��֮ǰ�������������֮�ϻ��� ��������һ��֮���ڱ�����ʱ���α걻��λ�ڵ�һ��֮ǰ����ȡ�� һЩ�к󣬸��α걻��λ�������ȡ�������ϡ���� FETCH���г����˿����е�ĩβ������α�ᱻ��λ �����һ��֮��������ȡ�����ǵ�һ��֮ǰ���� FETCH ALL����FETCH BACKWARD ALL���������α걻��λ�����һ��֮����ߵ�һ��֮ǰ��

NEXT��PRIOR��FIRST�� LAST��ABSOLUTE��RELATIVE ��ʽ�����ʵ��ƶ��α��ȡ��һ�С����û������һ�У�������һ���� �����������������α궨λ�ڵ�һ��֮ǰ�������һ��֮��

ʹ��FORWARD��BACKWARD����ʽ���� ��ǰ�ƶ���������ƶ��ķ����ϼ���ָ���������У�Ȼ���α궨λ�� ��󷵻ص����ϣ����count�������õ���������λ ��������֮�����֮ǰ����

RELATIVE 0��FORWARD 0�Լ� BACKWARD 0�������������ǰ�е����ƶ��α꣬Ҳ���� ����ȡ�����ȡ�����С� ֻҪ�α�û�б���λ�ڵ�һ��֮ǰ�������һ�� ֮�����ֲ�������ɹ������򲻻᷵���κ��С�

ע��: ���ҳ�������� SQL ��������϶��α��ʹ�á������Ҫ�� PL/pgSQL������ʹ���α꣬�����������ͬ — ����� 41.7 ����

����

direction

direction �����ȡ�����Լ�Ҫȡ�õ�������������������֮һ��

NEXT

ȡ����һ�С����ʡ��direction���⽫��Ĭ��ֵ��

PRIOR

ȡ����ǰλ��֮ǰ��һ�С�

FIRST

ȡ���ò�ѯ�ĵ�һ�У���ABSOLUTE 1��ͬ����

LAST

ȡ���ò�ѯ�����һ�У���ABSOLUTE -1��ͬ����

ABSOLUTE count

ȡ���ò�ѯ�ĵ�count���У����countΪ�����Ǵ�β����ʼȡ�� ��abs(count)���С���� count������Χ������λ�ڵ�һ�� ֮ǰ�������һ��֮���ر�أ�ABSOLUTE 0 �ᶨλ�ڵ�һ��֮ǰ��

RELATIVE count

ȡ����count������У���� countΪ�� ����ȡ��ǰ��ĵ�abs(count)���С� RELATIVE 0����ȡ����ǰ�У�����У���

count

ȡ����������count�У��� FORWARD count��ͬ����

ALL

ȡ������ʣ����У���FORWARD ALL��ͬ����

FORWARD

ȡ����һ�У���NEXT��ͬ����

FORWARD count

ȡ����������count�С� FORWARD 0����ȡ����ǰ�С�

FORWARD ALL

ȡ������ʣ�µ��С�

BACKWARD

ȡ����ǰ��ǰ���һ�У���PRIOR��ͬ����

BACKWARD count

ȡ��ǰ���count�У�����ɨ�裩�� BACKWARD 0������ȡ����ǰ�С�

BACKWARD ALL

ȡ�����е�ǰλ��֮ǰ���У�����ɨ�裩��

count

count ��һ�����ܴ��з��ŵ�����������������Ҫȡ�õ�λ�û������������� FORWARD��BACKWARD�����ָ��һ������ count��Ч�ڸı� FORWARDhe BACKWARD�����塣

cursor_name

һ���Ѵ��α�����ơ�

���

����ɹ���ɣ�FETCH�����һ��������ʽ�������ǩ��

FETCH count

count��ȡ�õ����������� Ϊ�㣩��ע����psql�У������ǩ������ʵ����ʾ�� ��Ϊpsql����ʾ��ȡ�õ��С�

ע��

�����Ҫʹ��FETCH������������ʹ�ô����������� FETCH NEXT����FETCH FORWARD�� Ӧ����SCROLL�����αꡣ���ڼ򵥲�ѯ�� PostgreSQL�������Ӳ��� SCROLL���α��з���ȡ���У�����ò�Ҫ����������Ϊ�� ����α걻����Ϊ����SCROLL������������ȡ�á�

��ABSOLUTEȡ�в�����������ƶ�����٣����������� �ײ�ʵ�ֶ�����������е��м��С��ø�����ֵ��ȡ��������㣺������� ��ѯβ�����ҵ����һ�У����ҽ��Ŵ����ﷴ��ʼ�������������ؾ�����ѯ �Ŀ�ʼ������FETCH ABSOLUTE 0���Ǻܿ�ġ�

DECLARE�����������αꡣʹ�� MOVE�ɸı��α�λ�ö����������ݡ�

ʾ��

�����������һ���α����һ������

BEGIN WORK;

-- ����һ���α꣺
DECLARE liahona SCROLL CURSOR FOR SELECT * FROM films;

-- ���α� liahona ��ȡ��ǰ 5 �У�
FETCH FORWARD 5 FROM liahona;

 code  |          title          | did | date_prod  |   kind   |  len
-------+-------------------------+-----+------------+----------+-------
 BL101 | The Third Man           | 101 | 1949-12-23 | Drama    | 01:44
 BL102 | The African Queen       | 101 | 1951-08-11 | Romantic | 01:43
 JL201 | Une Femme est une Femme | 102 | 1961-03-12 | Romantic | 01:25
 P_301 | Vertigo                 | 103 | 1958-11-14 | Action   | 02:08
 P_302 | Becket                  | 103 | 1964-02-03 | Drama    | 02:28

-- ȡ��ǰ��һ�У�
FETCH PRIOR FROM liahona;

 code  |  title  | did | date_prod  |  kind  |  len
-------+---------+-----+------------+--------+-------
 P_301 | Vertigo | 103 | 1958-11-14 | Action | 02:08

-- �ر��α겢�ҽ�������
CLOSE liahona;
COMMIT WORK;

������

SQL ��׼ֻ����FETCH��Ƕ��ʽ SQL ��ʹ�á� ����������FETCH���巵������ʱ�ͺ��������� һ��SELECT����������DZ������������С� ����һ��֮�⣬FETCH��ȫ���ϼ����� SQL ��׼��

�漰FORWARD��BACKWARD�� FETCH��ʽ���Լ���ʽFETCH count��FETCH ALL������FORWARD����ʽ�ģ����� PostgreSQL��չ��

SQL ��׼ֻ����FROM���α���֮ǰ��ʹ�� IN��ѡ�������ȫʡȥ������һ����չ��

����

CLOSE, DECLARE, MOVE