doc: adjust UPDATE/DELETE's FROM/USING to match SELECT's FROM
authorBruce Momjian
Tue, 31 Mar 2020 20:31:44 +0000 (16:31 -0400)
committerBruce Momjian
Tue, 31 Mar 2020 20:31:44 +0000 (16:31 -0400)
Previously the syntax and wording were unclear.

Reported-by: Alexey Bashtanov
Discussion: https://postgr.es/m/968d4724-8e58-788f-7c45-f7b1813824cc@imap.cc

Backpatch-through: 9.5

doc/src/sgml/ref/delete.sgml
doc/src/sgml/ref/update.sgml

index df8cea48cf4154f8593fb3ab1d96c2de015f730d..08fb032b50569d08dcf60f689ce04b5766c8642a 100644 (file)
@@ -23,7 +23,7 @@ PostgreSQL documentation
 
 [ WITH [ RECURSIVE ] with_query [, ...] ]
 DELETE FROM [ ONLY ] table_name [ * ] [ [ AS ] alias ]
-    [ USING using_list ]
+    [ USING from_item [, ...] ]
     [ WHERE condition | WHERE CURRENT OF cursor_name ]
     [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]
 
@@ -117,17 +117,17 @@ DELETE FROM [ ONLY ] table_name [ *
    
 
    
-    using_list
+    from_item
     
      
-      A list of table expressions, allowing columns from other tables
-      to appear in the WHERE condition.  This is similar
-      to the list of tables that can be specified in the 
-      linkend="sql-from" endterm="sql-from-title"/> of a
-      SELECT statement; for example, an alias for
-      the table name can be specified.  Do not repeat the target table
-      in the using_list,
-      unless you wish to set up a self-join.
+      A table expression allowing columns from other tables to appear
+      in the WHERE condition.  This uses the same
+      syntax as the 
+      of a SELECT statement; for example, an alias
+      for the table name can be specified.  Do not repeat the target
+      table as a from_item
+      unless you wish to set up a self-join (in which case it must appear
+      with an alias in the from_item).
      
     
    
index 4840bf560c13b56738bc842becc812a9efe9e96a..f2891a3b0a72b06eb127b8219e18fa31b976c5a3 100644 (file)
@@ -27,7 +27,7 @@ UPDATE [ ONLY ] table_name [ * ] [
           ( column_name [, ...] ) = [ ROW ] ( { expression | DEFAULT } [, ...] ) |
           ( column_name [, ...] ) = ( sub-SELECT )
         } [, ...]
-    [ FROM from_list ]
+    [ FROM from_item [, ...] ]
     [ WHERE condition | WHERE CURRENT OF cursor_name ]
     [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]
 
@@ -167,17 +167,17 @@ UPDATE [ ONLY ] table_name [ * ] [
    
 
    
-    from_list
+    from_item
     
      
-      A list of table expressions, allowing columns from other tables
-      to appear in the WHERE condition and the update
-      expressions. This is similar to the list of tables that can be
-      specified in the 
-      endterm="sql-from-title"/> of a SELECT
-      statement.  Note that the target table must not appear in the
-      from_list, unless you intend a self-join (in which
-      case it must appear with an alias in the from_list).
+      A table expression allowing columns from other tables to appear in
+      the WHERE condition and update expressions. This
+      uses the same syntax as the 
+      endterm="sql-from-title"/> of a SELECT statement;
+      for example, an alias for the table name can be specified.  Do not
+      repeat the target table as a from_item
+      unless you intend a self-join (in which case it must appear with
+      an alias in the from_item).
      
     
    
@@ -267,7 +267,7 @@ UPDATE count
   
    When a FROM clause is present, what essentially happens
    is that the target table is joined to the tables mentioned in the
-   from_list, and each output row of the join
+   from_item list, and each output row of the join
    represents an update operation for the target table.  When using
    FROM you should ensure that the join
    produces at most one output row for each row to be modified.  In