FETCH

Name

FETCH -- ���α�Ӳ�ѯ��ץȡ��

Synopsis

FETCH [ direction { FROM | IN } ] cursorname

���� 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 ��Ҫ���ڲ��ƶ��α��ǰ����ץȡ��ǰ�У�����Ҳ��������ץȡ����ո�ץȡ�����С� �����α궨λ�ڵ�һ��֮ǰ�������һ��֮�����������Ӧ�óɹ�����������������£��������κ��С�

����

direction

direction ����ץȡ�ķ����ץȡ��������������������֮һ��

NEXT

ץȡ��һ�С� direction ʡ��ʱ����ȱʡֵ��

PRIOR

ץȡǰ��һ�С�

FIRST

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

LAST

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

ABSOLUTE countR

ץȡ��ѯ�е� count �У� ���ߣ���� count < 0�� �Ӳ�ѯ���ĩβץȡ��abs(count)�С� ���count �����˷�Χ����ô��λ�ڵ�һ��֮ǰ�����һ��֮���λ�ã� �ر��� ABSOLUTE 0 ��λ�ڵ�һ��֮ǰ��

RELATIVE count

ץȡ���ĵ� count �У� ���ߣ���� count < 0 ��ʱ�� ץȡǰ��ĵ� 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 ��Ч�ڸı� FORWARD �� BACKWARD �ķ���

cursor

һ���򿪵��α�����ơ�

���

�ɹ����ʱ��һ�� FETCH �����һ����������ı��

FETCH count

����� count ��ץȡ���������������㣩�� ��ע���� psql ������ǩʵ���ϲ�����ʾ�� ��Ϊ psql ��ץȡ������ȡ���ˡ�

ע��

�������ʹ�� FETCH NEXT ֮����κ� FETCH �ı��֣� �����Ǵ����������� FETCH FORWARD����ô�����α��ʱ��Ӧ�ô��� SCROLL ѡ� ���ڼ򵥵IJ�ѯ��PostgreSQL ��������Щû�д� SCROLL ѡ�����α�Ҳ���Է���ץȡ�� ����������ò�Ҫ���������Ϊ�� ����α궨���� NO SCROLL����ô��������ץȡ��

ABSOLUTE ץȡ����������λ���ƶ�����Ҫ�������и��죺 ��Ϊ�²��ʵ�ֱ�����������м���С������ľ���ץȡ��������⣺ ��ѯ����һֱ������β�����ҵ����һ�У�Ȼ������↑ʼ��������� ���������˵���ѯ��ͷ������ FETCH ABSOLUTE 0���ܿ졣

���α��и������ݻ����� PostgreSQL��

ʹ�� DECLARE ��䶨��һ���αꡣ MOVE ���ı��α�λ�ö����������ݡ�

����

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

-- ����һ���α꣺

BEGIN WORK;
DECLARE liahona SCROLL CURSOR FOR SELECT * FROM films;

-- ץȡͷ 5 �е��α� liahona �
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 ֻ����Ƕ��ʽ�����¡� ���������� FETCH �����ǰѽ�������� SELECT ����������أ������ǰ�����������������������֮�⣬FETCH �� SQL ��׼��ȫ���ϼ��ݡ�

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

SQL ��׼ֻ�����α�ǰ���� FROM�� �� IN ��һ����չ��

�ּ�

CLOSE, DECLARE, MOVE