update.sgml
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:5k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. <REFENTRY ID="SQL-UPDATE">
  2. <REFMETA>
  3. <REFENTRYTITLE>
  4. UPDATE
  5. </REFENTRYTITLE>
  6. <REFMISCINFO>SQL - Language Statements</REFMISCINFO>
  7. </REFMETA>
  8. <REFNAMEDIV>
  9. <REFNAME>
  10. UPDATE
  11. </REFNAME>
  12. <REFPURPOSE>
  13. Replaces values of columns in a table
  14. </REFPURPOSE>
  15. </refnamediv>
  16. <REFSYNOPSISDIV>
  17. <REFSYNOPSISDIVINFO>
  18. <DATE>1998-09-24</DATE>
  19. </REFSYNOPSISDIVINFO>
  20. <SYNOPSIS>
  21. UPDATE <REPLACEABLE CLASS="PARAMETER">table</replaceable> SET <REPLACEABLE CLASS="PARAMETER">column</replaceable> = <REPLACEABLE CLASS="PARAMETER">expression</replaceable> [, ...]
  22.     [ FROM <REPLACEABLE CLASS="PARAMETER">fromlist</REPLACEABLE> ]
  23.     [ WHERE <REPLACEABLE CLASS="PARAMETER">condition</REPLACEABLE> ]
  24. </SYNOPSIS>
  25.     <REFSECT2 ID="R2-SQL-UPDATE-1">
  26.       <REFSECT2INFO>
  27. <DATE>1998-09-24</DATE>
  28.       </REFSECT2INFO>
  29.       <TITLE>
  30. Inputs
  31.       </TITLE>
  32.       <PARA>
  33. <VARIABLELIST>
  34.   <VARLISTENTRY>
  35.     <TERM>
  36.       <REPLACEABLE CLASS="PARAMETER">table</replaceable>
  37.     </TERM>
  38.     <LISTITEM>
  39.       <PARA>
  40. The name of an existing table.
  41.       </para>
  42.     </LISTITEM>
  43.   </VARLISTENTRY>
  44.   <VARLISTENTRY>
  45.     <TERM>
  46.       <REPLACEABLE CLASS="PARAMETER">column</replaceable>
  47.     </TERM>
  48.     <LISTITEM>
  49.       <PARA>
  50. The name of a column in <REPLACEABLE CLASS="PARAMETER">table</replaceable>.
  51.       </para>
  52.     </LISTITEM>
  53.   </VARLISTENTRY>
  54.   <VARLISTENTRY>
  55.     <TERM>
  56.       <REPLACEABLE CLASS="PARAMETER">expression</replaceable>
  57.     </TERM>
  58.     <LISTITEM>
  59.       <PARA>
  60. A valid expression or value to assign to column.
  61.       </para>
  62.     </LISTITEM>
  63.   </VARLISTENTRY>
  64.   <VARLISTENTRY>
  65.     <TERM>
  66.       <REPLACEABLE CLASS="PARAMETER">fromlist</REPLACEABLE>
  67.     </TERM>
  68.     <LISTITEM>
  69.       <PARA>
  70. A <productname>Postgres</productname>
  71. non-standard extension to allow columns
  72. from other tables to appear in the WHERE condition.
  73.       </para>
  74.     </LISTITEM>
  75.   </VARLISTENTRY>
  76.   <VARLISTENTRY>
  77.     <TERM>
  78.       <REPLACEABLE CLASS="PARAMETER">condition</REPLACEABLE>
  79.     </TERM>
  80.     <LISTITEM>
  81.       <PARA>
  82. Refer to the SELECT statement for a further description
  83. of the WHERE clause.
  84.       </para>
  85.     </LISTITEM>
  86.   </VARLISTENTRY>
  87. </VARIABLELIST>
  88.       </para>
  89.     </REFSECT2>
  90.     
  91.     <REFSECT2 ID="R2-SQL-UPDATE-2">
  92.       <REFSECT2INFO>
  93. <DATE>1998-09-24</DATE>
  94.       </REFSECT2INFO>
  95.       <TITLE>
  96. Outputs
  97.       </TITLE>
  98.       <PARA>
  99. <VARIABLELIST>
  100.   <VARLISTENTRY>
  101.     <TERM>
  102.       UPDATE <replaceable class="parameter">#</replaceable>
  103.     </TERM>
  104.     <LISTITEM>
  105.       <PARA>
  106. Message returned if successful.
  107. The <replaceable class="parameter">#</replaceable>
  108. means the number of rows updated.
  109. If <replaceable class="parameter">#</replaceable>
  110. is equal 0 no rows are updated.
  111.       </para>
  112.     </LISTITEM>
  113.   </VARLISTENTRY>
  114. </VARIABLELIST>
  115.       </para>
  116.     </REFSECT2>
  117.   </REFSYNOPSISDIV>
  118.   <REFSECT1 ID="R1-SQL-UPDATE-1">
  119.     <REFSECT1INFO>
  120.       <DATE>1998-09-24</DATE>
  121.     </REFSECT1INFO>
  122.     <TITLE>
  123.       Description
  124.     </TITLE>
  125.     <PARA>
  126.       UPDATE changes the values of the columns specified for
  127.       all rows which satisfy condition. Only the columns 
  128.       to be modified need appear as column.
  129.     </para>
  130.     <PARA>
  131.       Array references use the same syntax found in SELECT.
  132.       That is, either single array elements, a range of array
  133.       elements or the entire array may be replaced with a single
  134.       query.
  135.     </para>
  136.     <PARA>
  137.       You must have write access to the table in order to modify
  138.       it, as well as read access to any table whose values are
  139.       mentioned in the WHERE condition.
  140.     </para>
  141.   </REFSECT1>
  142.   <REFSECT1 ID="R1-SQL-UPDATE-2">
  143.     <TITLE>
  144.       Usage
  145.     </TITLE>
  146.     <PARA>
  147.     </PARA>
  148.     <ProgramListing>
  149.    --Change word "Drama" with "Dramatic" on column kind:
  150.    --
  151.    UPDATE films 
  152.       SET kind = 'Dramatic'
  153.       WHERE kind = 'Drama';
  154.    SELECT * FROM films WHERE kind = 'Dramatic' OR kind = 'Drama';
  155.    code |title        |did| date_prod|kind      |len
  156.    -----+-------------+---+----------+----------+------
  157.    BL101|The Third Man|101|1949-12-23|Dramatic  | 01:44
  158.    P_302|Becket       |103|1964-02-03|Dramatic  | 02:28
  159.    M_401|War and Peace|104|1967-02-12|Dramatic  | 05:57
  160.    T_601|Yojimbo      |106|1961-06-16|Dramatic  | 01:50
  161.    DA101|Das Boot     |110|1981-11-11|Dramatic  | 02:29
  162.     </ProgramListing>
  163.   </REFSECT1>
  164.   <REFSECT1 ID="R1-SQL-UPDATE-3">
  165.     <TITLE>
  166.       Compatibility
  167.     </TITLE>
  168.     <PARA>
  169.     </PARA>
  170.     
  171.     <REFSECT2 ID="R2-SQL-UPDATE-4">
  172.       <REFSECT2INFO>
  173. <DATE>1998-09-24</DATE>
  174.       </REFSECT2INFO>
  175.       <TITLE>
  176. SQL92
  177.       </TITLE>
  178.       <PARA>
  179. SQL92 defines a different syntax for positioned UPDATE statement:
  180. <programlisting>
  181.    UPDATE table SET column = expression [, ...]
  182.           WHERE CURRENT OF <replaceable class="parameter">cursor</replaceable>
  183. </programlisting>
  184. where <replaceable class="parameter">cursor</replaceable>
  185. identifies an open cursor.
  186.       </para>
  187.     </refsect2>
  188.   </refsect1>
  189. </REFENTRY>