blob: 0d0d662ada25d055816307bf8f8cec37a93abf8f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
|
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/move.sgml,v 1.13 2002/04/21 19:02:39 thomas Exp $
PostgreSQL documentation
-->
<refentry id="SQL-MOVE">
<refmeta>
<refentrytitle id="SQL-MOVE-TITLE">MOVE</refentrytitle>
<refmiscinfo>SQL - Language Statements</refmiscinfo>
</refmeta>
<refnamediv>
<refname>
MOVE
</refname>
<refpurpose>
position a cursor on a specified row of a table
</refpurpose>
</refnamediv>
<refsynopsisdiv>
<refsynopsisdivinfo>
<date>1999-07-20</date>
</refsynopsisdivinfo>
<synopsis>
MOVE [ <replaceable class="PARAMETER">direction</replaceable> ] [ <replaceable class="PARAMETER">count</replaceable> ]
{ IN | FROM } <replaceable class="PARAMETER">cursor</replaceable>
</synopsis>
</refsynopsisdiv>
<refsect1 id="R1-SQL-MOVE-1">
<refsect1info>
<date>1998-09-24</date>
</refsect1info>
<title>
Description
</title>
<para>
<command>MOVE</command> allows a user to move cursor position a specified
number of rows.
<command>MOVE</command> works like the <command>FETCH</command> command,
but only positions the cursor and does
not return rows.
</para>
<para>
Refer to
<xref linkend="sql-fetch" endterm="sql-fetch-title">
for details on syntax and usage.
</para>
<refsect2 id="R2-SQL-MOVE-3">
<refsect2info>
<date>1998-09-24</date>
</refsect2info>
<title>
Notes
</title>
<para>
<command>MOVE</command> is a <productname>PostgreSQL</productname>
language extension.
</para>
<para>
Refer to
<xref linkend="sql-fetch" endterm="sql-fetch-title">
for a description of valid arguments.
Refer to
<xref linkend="sql-declare" endterm="sql-declare-title">
to define a cursor.
Refer to
<xref linkend="sql-begin" endterm="sql-begin-title">,
<xref linkend="sql-commit" endterm="sql-commit-title">,
and
<xref linkend="sql-rollback" endterm="sql-rollback-title">
for further information about transactions.
</para>
</refsect2>
</refsect1>
<refsect1 id="R1-SQL-MOVE-2">
<title>
Usage
</title>
<para>
Set up and use a cursor:
<programlisting>
BEGIN WORK;
DECLARE liahona CURSOR FOR SELECT * FROM films;
-- Skip first 5 rows:
MOVE FORWARD 5 IN liahona;
<computeroutput>
MOVE
</computeroutput>
-- Fetch 6th row in the cursor liahona:
FETCH 1 IN liahona;
<computeroutput>
FETCH
code | title | did | date_prod | kind | len
-------+--------+-----+-----------+--------+-------
P_303 | 48 Hrs | 103 | 1982-10-22| Action | 01:37
(1 row)
</computeroutput>
-- close the cursor liahona and commit work:
CLOSE liahona;
COMMIT WORK;
</programlisting>
</para>
</refsect1>
<refsect1 id="R1-SQL-MOVE-3">
<title>
Compatibility
</title>
<refsect2 id="R2-SQL-MOVE-4">
<refsect2info>
<date>1998-09-01</date>
</refsect2info>
<title>
SQL92
</title>
<para>
There is no <acronym>SQL92</acronym> <command>MOVE</command> statement.
Instead, <acronym>SQL92</acronym> allows
one to <command>FETCH</command> rows from an absolute cursor position,
implicitly moving the cursor to the correct position.
</para>
</refsect2>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:nil
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../reference.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:"/usr/lib/sgml/catalog"
sgml-local-ecat-files:nil
End:
-->
|