forked from docs/doc-exports
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com> Co-authored-by: Lu, Huayi <luhuayi@huawei.com> Co-committed-by: Lu, Huayi <luhuayi@huawei.com>
90 lines
20 KiB
HTML
90 lines
20 KiB
HTML
<a name="EN-US_TOPIC_0000001233510123"></a><a name="EN-US_TOPIC_0000001233510123"></a>
|
|
|
|
<h1 class="topictitle1">VALUES</h1>
|
|
<div id="body8662426"><div class="section" id="EN-US_TOPIC_0000001233510123__s8a52d40725144198ada1765a7d77349b"><h4 class="sectiontitle">Function</h4><p id="EN-US_TOPIC_0000001233510123__a03337383c71f4713ac12231e137c94f4"><strong id="EN-US_TOPIC_0000001233510123__b842352706195654">VALUES</strong> computes a row or a set of rows based on given values. It is most commonly used to generate a constant table within a large command.</p>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001233510123__s5e0733eb70cb476a8c11592e5d885a07"><h4 class="sectiontitle">Precautions</h4><ul id="EN-US_TOPIC_0000001233510123__u4e21326f2fcb4dd3ae59dbe4b8df075a"><li id="EN-US_TOPIC_0000001233510123__l9dff0d091508451696b70c67d6317946"><strong id="EN-US_TOPIC_0000001233510123__b84235270619581">VALUES</strong> lists with large numbers of rows should be avoided, as you might encounter out-of-memory failures or poor performance. <strong id="EN-US_TOPIC_0000001233510123__b842352706195811">VALUES</strong> appearing within <strong id="EN-US_TOPIC_0000001233510123__b842352706195812">INSERT</strong> is a special case, because the desired column types are known from the <strong id="EN-US_TOPIC_0000001233510123__b842352706195820">INSERT</strong>'s target table, and need not be inferred by scanning the <strong id="EN-US_TOPIC_0000001233510123__b842352706195842">VALUES</strong> list. In this case, <strong id="EN-US_TOPIC_0000001233510123__b842352706195853">VALUE</strong> can handle larger lists than are practical in other contexts.</li><li id="EN-US_TOPIC_0000001233510123__l0a3d8db99a8d4d4abaf0c70b9718318f">If more than one row is specified, all the rows must have the same number of elements. </li></ul>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001233510123__s3feb988c9efa4722acca39124894b1a0"><h4 class="sectiontitle">Syntax</h4><div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510123__s78217a5ec61940aeb9dbb947b71d8527"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">VALUES</span><span class="w"> </span><span class="err">{</span><span class="p">(</span><span class="w"> </span><span class="n">expression</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span><span class="w"> </span><span class="p">)</span><span class="err">}</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span>
|
|
<span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="n">sort_expression</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">ASC</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">DESC</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">USING</span><span class="w"> </span><span class="k">operator</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="p">...]</span><span class="w"> </span><span class="p">]</span>
|
|
<span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">LIMIT</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="k">count</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ALL</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">OFFSET</span><span class="w"> </span><span class="k">start</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">ROW</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ROWS</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="k">LIMIT</span><span class="w"> </span><span class="k">start</span><span class="p">,</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="k">count</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ALL</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">]</span>
|
|
<span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">FETCH</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="k">FIRST</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">NEXT</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">count</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="err">{</span><span class="w"> </span><span class="k">ROW</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">ROWS</span><span class="w"> </span><span class="err">}</span><span class="w"> </span><span class="k">ONLY</span><span class="w"> </span><span class="p">];</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001233510123__sd4ddbaa525de4ce7bd3ed96da03aacd6"><h4 class="sectiontitle">Parameter Description</h4><ul id="EN-US_TOPIC_0000001233510123__u3f1a8afad43347008a4e69016a31c188"><li id="EN-US_TOPIC_0000001233510123__lc5e18ed3d6724275a4994c197d6a1901"><strong id="EN-US_TOPIC_0000001233510123__a65fd5db209d24a72b32b48d5c6b30bbb">expression</strong><p id="EN-US_TOPIC_0000001233510123__aaea80a293c0445ae91779e0c73904ff8">Specifies a constant or expression to compute and insert at the indicated place in the resulting table or set of rows.</p>
|
|
<p id="EN-US_TOPIC_0000001233510123__a857749407f5e404ebd6fc3dee84d7723">In a <strong id="EN-US_TOPIC_0000001233510123__b842352706195958">VALUES</strong> list appearing at the top level of an <strong id="EN-US_TOPIC_0000001233510123__b8423527062002">INSERT</strong>, an expression can be replaced by <strong id="EN-US_TOPIC_0000001233510123__b8423527062004">DEFAULT</strong> to indicate that the destination column's default value should be inserted. <strong id="EN-US_TOPIC_0000001233510123__b84235270620013">DEFAULT</strong> cannot be used when <strong id="EN-US_TOPIC_0000001233510123__b84235270620015">VALUES</strong> appears in other contexts.</p>
|
|
</li><li id="EN-US_TOPIC_0000001233510123__l6eb8377b2715432c9601f56a40e596cc"><strong id="EN-US_TOPIC_0000001233510123__abbc3b9a924eb41d995590e7dcce5d4a0">sort_expression</strong><p id="EN-US_TOPIC_0000001233510123__aa3da33db2e51471b85f2a36e6838def9">Specifies an expression or integer constant indicating how to sort the result rows.</p>
|
|
</li><li id="EN-US_TOPIC_0000001233510123__ldc4588115ff446d395164deb1a22e493"><strong id="EN-US_TOPIC_0000001233510123__a9e826a649ec743ddac606684d4711bf4">ASC</strong><p id="EN-US_TOPIC_0000001233510123__ad8846b3315934c6a91361a01a37e322d">Indicates ascending sort order.</p>
|
|
</li><li id="EN-US_TOPIC_0000001233510123__la4f2d687dd5042448e0993afda6da435"><strong id="EN-US_TOPIC_0000001233510123__a6f3c6f9caa7d4e0d8ece65b68f040509">DESC</strong><p id="EN-US_TOPIC_0000001233510123__ad0e9f8898495478898b87000938e8e56">Indicates descending sort order.</p>
|
|
</li><li id="EN-US_TOPIC_0000001233510123__l644fadf0a13840cbb256844ce64a1c8c"><strong id="EN-US_TOPIC_0000001233510123__a3cf58006c34744758fe0078b2d12a74c">operator</strong><p id="EN-US_TOPIC_0000001233510123__a59901a636e7c4cada0f4f7dea5df466e">Specifies a sorting operator.</p>
|
|
</li><li id="EN-US_TOPIC_0000001233510123__l59a84e8884d04d71983d95cc6d9321ad"><strong id="EN-US_TOPIC_0000001233510123__a940d0dc7b0dd4606ba220e4ec7bd1ba0">count</strong><p id="EN-US_TOPIC_0000001233510123__a36b750ce24a042548638e3171f97d0f2">Specifies the maximum number of rows to return.</p>
|
|
</li><li id="EN-US_TOPIC_0000001233510123__lad98c6a61aad4c7088b830e6cee1bec7"><strong id="EN-US_TOPIC_0000001233510123__b0801842101613">start</strong><p id="EN-US_TOPIC_0000001233510123__af04e3a990e634474b41e4f8b5fc16072">Specifies the number of rows to skip before starting to return rows.</p>
|
|
</li><li id="EN-US_TOPIC_0000001233510123__l3d69bc95d0b0467babcf5922e12fb891"><strong id="EN-US_TOPIC_0000001233510123__a96d32dcfea594c9997dd727ad7ce2186">FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY</strong><p id="EN-US_TOPIC_0000001233510123__ad973ab9a8976439aa9c4f966f6f7df65">The <strong id="EN-US_TOPIC_0000001233510123__b842352706103641">FETCH</strong> clause restricts the total number of rows starting from the first row of the return query result, and the default value of <strong id="EN-US_TOPIC_0000001233510123__b1170155743102917">count</strong> is <strong id="EN-US_TOPIC_0000001233510123__b113796364102917">1</strong>. </p>
|
|
</li></ul>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001233510123__sde46524504b447d1b543dae6cb4e2462"><h4 class="sectiontitle">Examples</h4><p id="EN-US_TOPIC_0000001233510123__en-us_topic_0000001233708655_p1622154712452">Create the <strong id="EN-US_TOPIC_0000001233510123__en-us_topic_0000001233708655_b1616717548547">reason_t1</strong> table.</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510123__en-us_topic_0000001233708655_screen15221473451"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span>
|
|
<span class="normal">6</span>
|
|
<span class="normal">7</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">DROP</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="k">IF</span><span class="w"> </span><span class="k">EXISTS</span><span class="w"> </span><span class="n">reason_t1</span><span class="p">;</span>
|
|
<span class="k">CREATE</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">reason_t1</span>
|
|
<span class="p">(</span>
|
|
<span class="w"> </span><span class="n">TABLE_SK</span><span class="w"> </span><span class="nb">INTEGER</span><span class="w"> </span><span class="p">,</span>
|
|
<span class="w"> </span><span class="n">TABLE_ID</span><span class="w"> </span><span class="nb">VARCHAR</span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="p">,</span>
|
|
<span class="w"> </span><span class="n">TABLE_NA</span><span class="w"> </span><span class="nb">VARCHAR</span><span class="p">(</span><span class="mi">20</span><span class="p">)</span>
|
|
<span class="p">);</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001233510123__en-us_topic_0000001233708655_p1322547124516">Insert a record into a table.</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510123__en-us_topic_0000001233708655_screen182244715455"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">reason_t1</span><span class="p">(</span><span class="n">TABLE_SK</span><span class="p">,</span><span class="w"> </span><span class="n">TABLE_ID</span><span class="p">,</span><span class="w"> </span><span class="n">TABLE_NA</span><span class="p">)</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">'S01'</span><span class="p">,</span><span class="w"> </span><span class="s1">'StudentA'</span><span class="p">);</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001233510123__en-us_topic_0000001233708655_p62354710454">Insert a record into a table. This command is equivalent to the last one.</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510123__en-us_topic_0000001233708655_screen19231847184516"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">reason_t1</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">'S01'</span><span class="p">,</span><span class="w"> </span><span class="s1">'StudentA'</span><span class="p">);</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001233510123__en-us_topic_0000001233708655_p18236476453">Insert records whose <strong id="EN-US_TOPIC_0000001233510123__en-us_topic_0000001233708655_b103731626105515">TABLE_SK</strong> is less than <strong id="EN-US_TOPIC_0000001233510123__en-us_topic_0000001233708655_b17201630105518">1</strong> into the table.</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510123__en-us_topic_0000001233708655_screen182310473456"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">reason_t1</span><span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">reason_t1</span><span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">TABLE_SK</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001233510123__en-us_topic_0000001233708655_p42324717459">Insert records into the table.</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510123__en-us_topic_0000001233708655_screen192364794514"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">reason_t1</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">'S01'</span><span class="p">,</span><span class="w"> </span><span class="s1">'StudentA'</span><span class="p">),(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">'T01'</span><span class="p">,</span><span class="w"> </span><span class="s1">'TeacherA'</span><span class="p">),(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="s1">'T02'</span><span class="p">,</span><span class="w"> </span><span class="s1">'TeacherB'</span><span class="p">);</span>
|
|
<span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">reason_t1</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001233510123__en-us_topic_0000001233708655_p18784458441">Use <strong id="EN-US_TOPIC_0000001233510123__en-us_topic_0000001233708655_b17248626012">INSERT OVERWRITE</strong> to update data in a table, that is, insert data to overwrite the old data.</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001233510123__en-us_topic_0000001233708655_screen16237478454"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">INSERT</span><span class="w"> </span><span class="n">OVERWRITE</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">reason_t1</span><span class="w"> </span><span class="k">values</span><span class="w"> </span><span class="p">(</span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="s1">'S02'</span><span class="p">,</span><span class="w"> </span><span class="s1">'StudentB'</span><span class="p">);</span>
|
|
<span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">reason_t1</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001233510123__en-us_topic_0000001233708655_p973360103017">Insert data back into the <strong id="EN-US_TOPIC_0000001233510123__en-us_topic_0000001233708655_b88581041175615">reason_t1</strong> table.</p>
|
|
<pre class="screen" id="EN-US_TOPIC_0000001233510123__en-us_topic_0000001233708655_screen33145185917">INSERT INTO reason_t1 SELECT * FROM reason_t1;</pre>
|
|
<p id="EN-US_TOPIC_0000001233510123__en-us_topic_0000001233708655_p973350193018">Specify default values for independent columns.</p>
|
|
<pre class="screen" id="EN-US_TOPIC_0000001233510123__en-us_topic_0000001233708655_screen17301265595">INSERT INTO reason_t1 VALUES (5, 'S03', DEFAULT);</pre>
|
|
<p id="EN-US_TOPIC_0000001233510123__en-us_topic_0000001233708655_p127333013014">Insert some data in a table to another table: Use the <strong id="EN-US_TOPIC_0000001233510123__en-us_topic_0000001233708655_b9942844155614">WITH</strong> subquery to obtain a temporary table <strong id="EN-US_TOPIC_0000001233510123__en-us_topic_0000001233708655_b9942844195617">temp_t</strong>, and then insert all data in <strong id="EN-US_TOPIC_0000001233510123__en-us_topic_0000001233708655_b394324485616">temp_t</strong> to another table <strong id="EN-US_TOPIC_0000001233510123__en-us_topic_0000001233708655_b109431044145615">reason_t1</strong>.</p>
|
|
<pre class="screen" id="EN-US_TOPIC_0000001233510123__en-us_topic_0000001233708655_screen10222310175911">WITH temp_t AS (SELECT * FROM reason_t1) INSERT INTO reason_t1 SELECT * FROM temp_t ORDER BY 1;</pre>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div class="familylinks">
|
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_06_0227.html">DML Syntax</a></div>
|
|
</div>
|
|
</div>
|
|
|