OSDN Git Service

Add mention of FOR UPDATE and LIMIT/OFFSET>
authorBruce Momjian <bruce@momjian.us>
Thu, 3 Jun 1999 19:52:09 +0000 (19:52 +0000)
committerBruce Momjian <bruce@momjian.us>
Thu, 3 Jun 1999 19:52:09 +0000 (19:52 +0000)
doc/src/sgml/ref/select.sgml
src/bin/psql/psqlHelp.h
src/man/select.l

index 9b49285..110ec11 100644 (file)
@@ -26,6 +26,8 @@ SELECT [ALL|DISTINCT [ON <replaceable class="PARAMETER">column</replaceable>] ]
     [ HAVING <replaceable class="PARAMETER">condition</replaceable> [, ...] ]
     [ { UNION [ALL] | INTERSECT | EXCEPT } <replaceable class="PARAMETER">select</replaceable> ]
     [ ORDER BY <replaceable class="PARAMETER">column</replaceable> [ ASC | DESC ] [, ...] ]
+    [ FOR UPDATE [OF class_name...]]
+    [ LIMIT count [OFFSET|, count]]
   </synopsis>
   
   <refsect2 id="R2-SQL-SELECT-1">
@@ -243,6 +245,15 @@ including duplicates.</para>
    (See EXCEPT clause).</para>
    
   <para>
+   The FOR UPDATE clause allows the SELECT statement to perform 
+   exclusive locking of selected rows.
+   (See EXCEPT clause).</para>
+   
+  <para>
+   The LIMIT...OFFSET clause allows control over which rows are
+   returned by the query.</para>   
+
+  <para>
    You must have SELECT privilege to a table to read its values
    (See <command>GRANT</command>/<command>REVOKE</command> statements).
 </para>
@@ -709,6 +720,8 @@ SELECT [ ALL | DISTINCT ] <replaceable class="PARAMETER">expression</replaceable
     [ HAVING <replaceable class="PARAMETER">condition</replaceable> [, ...] ]
     [ { UNION [ALL] | INTERSECT | EXCEPT } <replaceable class="PARAMETER">select</replaceable>]
     [ ORDER BY <replaceable class="PARAMETER">column</replaceable> [ ASC | DESC ] [, ...] ]
+    [ FOR UPDATE [OF class_name...]]
+    [ LIMIT count [OFFSET|, count]]
   </synopsis>
   
   <refsect2 id="R2-SQL-SELECTINTO-1">
index 507b0d5..a141543 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: psqlHelp.h,v 1.67 1999/06/03 19:17:59 momjian Exp $
+ * $Id: psqlHelp.h,v 1.68 1999/06/03 19:52:08 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -317,8 +317,10 @@ TIMEZONE|XACTISOLEVEL|CLIENT_ENCODING|SERVER_ENCODING"},
 \t[WHERE qual]\n\
 \t[GROUP BY group_list]\n\
 \t[HAVING having_clause]\n\
+\t[ { UNION [ALL] | INTERSECT | EXCEPT } SELECT ...]\n\
 \t[ORDER BY attr1 [ASC|DESC] [USING op1], ...attrN ]\n\
-\t[ { UNION [ALL] | INTERSECT | EXCEPT } SELECT ...];"},
+\t[FOR UPDATE [OF class_name...]]\n\
+\t[LIMIT count [OFFSET|, count]];"},
        {"set",
                "set run-time environment",
        "\
index 9de52c4..10b11c9 100644 (file)
@@ -1,6 +1,6 @@
 .\" This is -*-nroff-*-
 .\" XXX standard disclaimer belongs here....
-.\" $Header: /cvsroot/pgsql/src/man/Attic/select.l,v 1.12 1999/03/19 02:41:41 momjian Exp $
+.\" $Header: /cvsroot/pgsql/src/man/Attic/select.l,v 1.13 1999/06/03 19:52:09 momjian Exp $
 .TH SELECT SQL 11/05/95 PostgreSQL PostgreSQL
 .SH NAME
 select - retrieve instances from a class
@@ -14,8 +14,10 @@ select - retrieve instances from a class
     [\fBwhere\fR where-clause]    
     [\fBgroup by\fR attr_name1 {, attr_name-i....}]
     [\fBhaving\fR having-clause]
-    [\fBorder by\fR attr_name1 [\fBasc\fR | \fBdesc\fR] [\fBusing op1\fR] {, attr_namei...}]
 [ { \fBunion {all}\fR | \fBintersect\fR | \fBexcept\fR } \fBselect\fR ...]
+    [\fBorder by\fR attr_name1 [\fBasc\fR | \fBdesc\fR] [\fBusing op1\fR] {, attr_namei...}]
+    [\fBfor update\fR [\fBof\fR class_name...]]
+    [\fBlimit\fR count [\fBoffset\fR|, count]]
 
 .fi
 .SH DESCRIPTION
@@ -37,6 +39,12 @@ clause allows a user to specify that he wishes the instances sorted
 according to the corresponding operator.  This operator must be a
 binary one returning a boolean.  Multiple sort fields are allowed and
 are applied from left to right.
+The
+.BR "for update"
+allows the select statement to perform exclusive locking of selected rows.
+The
+.BR "limit/offset"
+allows control over which rows are returned by the query.
 .PP
 The target list specifies the fields to be retrieved.  Each 
 .IR attr_name