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

数据库系统

开发平台:

Unix_Linux

  1. <refentry id="SQL-INSERT">
  2.  <refmeta>
  3.   <refentrytitle>
  4.    INSERT
  5.   </refentrytitle>
  6.   <refmiscinfo>SQL - Language Statements</refmiscinfo>
  7.  </refmeta>
  8.  <refnamediv>
  9.   <refname>
  10.    INSERT
  11.   </refname>
  12.   <refpurpose>
  13.    Inserts new rows into a table
  14.   </refpurpose>
  15.  </refnamediv>
  16.  <refsynopsisdiv>
  17.   <refsynopsisdivinfo>
  18.    <date>1998-09-23</date>
  19.   </refsynopsisdivinfo>
  20.   <synopsis>
  21. INSERT INTO <replaceable class="PARAMETER">table</replaceable> [ ( <replaceable class="PARAMETER">column</replaceable> [, ...] ) ]
  22.     { VALUES ( <replaceable class="PARAMETER">expression</replaceable> [, ...] ) | SELECT <replaceable class="PARAMETER">query</replaceable> }
  23.   </synopsis>
  24.   
  25.   <refsect2 id="R2-SQL-INSERT-1">
  26.    <refsect2info>
  27.     <date>1998-09-23</date>
  28.    </refsect2info>
  29.    <title>
  30.     Inputs
  31.    </title>
  32.    <para>
  33.     <variablelist>
  34.      <varlistentry>
  35.       <term><replaceable class="PARAMETER">table</replaceable></term>
  36.       <listitem>
  37.        <para>
  38. The name of an existing table.
  39.        </para>
  40.       </listitem>
  41.      </varlistentry>
  42.      <varlistentry>
  43.       <term><replaceable class="PARAMETER">column</replaceable></term>
  44.       <listitem>
  45.        <para>
  46. The name of a column in <replaceable class="PARAMETER">table</replaceable>.
  47.        </para>
  48.       </listitem>
  49.      </varlistentry>
  50.      <varlistentry>
  51.       <term><replaceable class="PARAMETER">expression</replaceable></term>
  52.       <listitem>
  53.        <para>
  54. A valid expression or value to assign to <replaceable
  55.  class="PARAMETER">column</replaceable>.
  56.        </para>
  57.       </listitem>
  58.      </varlistentry>
  59.      <varlistentry>
  60.       <term><replaceable class="PARAMETER">query</replaceable></term>
  61.       <listitem>
  62.        <para>
  63. A valid query. Refer to the SELECT statement for a further description
  64. of valid arguments.
  65.        </para>
  66.       </listitem>
  67.      </varlistentry>
  68.     </variablelist>
  69.    </para>
  70.   </refsect2>
  71.   
  72.   <refsect2 id="R2-SQL-INSERT-2">
  73.    <refsect2info>
  74.     <date>1998-09-23</date>
  75.    </refsect2info>
  76.    <title>
  77.     Outputs
  78.    </title>
  79.    <para>
  80.     <variablelist>
  81.      <varlistentry>
  82.       <term><computeroutput>
  83. INSERT <replaceable>oid</replaceable> 1
  84.        </computeroutput></term>
  85.       <listitem>
  86.        <para>
  87. Message returned if only one row was inserted.
  88. <returnvalue><replaceable>oid</replaceable></returnvalue>
  89. is the numeric <acronym>OID</acronym> of the inserted row.
  90.        </para>
  91.       </listitem>
  92.      </varlistentry>
  93.      <varlistentry>
  94.       <term><computeroutput>
  95. INSERT 0 <replaceable>#</replaceable>
  96.        </computeroutput></term>
  97.       <listitem>
  98.        <para>
  99. Message returned if more than one rows were inserted.
  100. <returnvalue><replaceable>#</replaceable></returnvalue>
  101. is the number of rows inserted.
  102.        </para>
  103.       </listitem>
  104.      </varlistentry>
  105.     </variablelist>
  106.    </para>
  107.   </refsect2>
  108.  </refsynopsisdiv>
  109.  <refsect1 id="R1-SQL-INSERT-1">
  110.   <refsect1info>
  111.    <date>1998-09-02</date>
  112.   </refsect1info>
  113.   <title>
  114.    Description
  115.   </title>
  116.   <para>
  117.    <command>INSERT</command> allows one to insert new rows into a table. One can insert
  118.    a single row at time or several rows as a result of a query.
  119.    The columns in the target list may be listed in any order.
  120.    In every column not present in the target list will be inserted 
  121.    the default value, if column has not a declared default value
  122.    it will be assumed as NULL. If the expression for each column
  123.    is not of the correct data type, automatic type coercion will be
  124.    attempted.
  125.   </para>
  126.   <para>
  127.    You must have insert privilege to a table in order to append
  128.    to it, as well as select privilege on any table specified
  129.    in a WHERE clause.
  130.   </para>
  131.  </refsect1>
  132.  <refsect1 id="R1-SQL-INSERT-2">
  133.   <title>
  134.    Usage
  135.   </title>
  136.   <para>
  137.    Insert a single row into table <literal>films</literal>:
  138.    <programlisting>
  139. INSERT INTO films VALUES
  140.     ('UA502','Bananas',105,'1971-07-13','Comedy',INTERVAL '82 minute');
  141.    </programlisting>
  142.   </para>
  143.   <para>
  144.    In this second example the column <literal>date_prod</literal> is
  145.    omitted and therefore it will have the default value of NULL:
  146.    <programlisting>
  147. INSERT INTO films (code, title, did, date_prod, kind)
  148.     VALUES ('T_601', 'Yojimbo', 106, DATE '1961-06-16', 'Drama');
  149.    </programlisting>
  150.   </para>
  151.   <para>
  152.    Insert a single row into table distributors; note that
  153.    only column <literal>name</literal> is specified, so the omitted
  154.    column <literal>did</literal> will be assigned its default value:
  155.    <programlisting>
  156. INSERT INTO distributors (name) VALUES ('British Lion');
  157.    </programlisting>
  158.   </para>
  159.   <para>
  160.    Insert several rows into table films from table <literal>tmp</literal>:
  161.    <programlisting>
  162. INSERT INTO films SELECT * FROM tmp;
  163.    </programlisting>
  164.   </para>
  165.   <para>
  166.    Insert into arrays (refer to <citetitle>The PostgreSQL User's Guide</citetitle> for further
  167.    information about arrays):
  168.    <programlisting>
  169. -- Create an empty 3x3 gameboard for noughts-and-crosses
  170. -- (all of these queries create the same board attribute)
  171. INSERT INTO tictactoe (game, board[1:3][1:3])
  172.     VALUES (1,'{{"","",""},{},{"",""}}');
  173. INSERT INTO tictactoe (game, board[3][3])
  174.     VALUES (2,'{}');
  175. INSERT INTO tictactoe (game, board)
  176.     VALUES (3,'{{,,},{,,},{,,}}');
  177.    </programlisting>
  178.   </para>
  179.  </refsect1>
  180.  <refsect1 id="R1-SQL-INSERT-3">
  181.   <title>
  182.    Compatibility
  183.   </title>
  184.   <para>
  185.   </para>
  186.   <refsect2 id="R2-SQL-INSERT-4">
  187.    <refsect2info>
  188.     <date>1998-09-23</date>
  189.    </refsect2info>
  190.    <title>
  191.     SQL92
  192.    </title>
  193.    <para>
  194.     <command>INSERT</command> is fully compatible with <acronym>SQL92</acronym>.
  195.     Possible limitations in features of the 
  196.     <replaceable class="PARAMETER">query</replaceable>
  197.     clause are documented for the SELECT statement.
  198.    </para>
  199.   </refsect2>
  200.  </refsect1>
  201. </refentry>
  202. <!-- Keep this comment at the end of the file
  203. Local variables:
  204. mode: sgml
  205. sgml-omittag:nil
  206. sgml-shorttag:t
  207. sgml-minimize-attributes:nil
  208. sgml-always-quote-attributes:t
  209. sgml-indent-step:1
  210. sgml-indent-data:t
  211. sgml-parent-document:nil
  212. sgml-default-dtd-file:"../reference.ced"
  213. sgml-exposed-tags:nil
  214. sgml-local-catalogs:"/usr/lib/sgml/catalog"
  215. sgml-local-ecat-files:nil
  216. End:
  217. -->