forked from docs/doc-exports
Reviewed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com> Co-authored-by: Lu, Huayi <luhuayi@huawei.com> Co-committed-by: Lu, Huayi <luhuayi@huawei.com>
108 lines
22 KiB
HTML
108 lines
22 KiB
HTML
<a name="EN-US_TOPIC_0000001098990858"></a><a name="EN-US_TOPIC_0000001098990858"></a>
|
|
|
|
<h1 class="topictitle1">VALUES</h1>
|
|
<div id="body8662426"><div class="section" id="EN-US_TOPIC_0000001098990858__s8a52d40725144198ada1765a7d77349b"><h4 class="sectiontitle">Function</h4><p id="EN-US_TOPIC_0000001098990858__a03337383c71f4713ac12231e137c94f4"><strong id="EN-US_TOPIC_0000001098990858__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_0000001098990858__s5e0733eb70cb476a8c11592e5d885a07"><h4 class="sectiontitle">Precautions</h4><ul id="EN-US_TOPIC_0000001098990858__u4e21326f2fcb4dd3ae59dbe4b8df075a"><li id="EN-US_TOPIC_0000001098990858__l9dff0d091508451696b70c67d6317946"><strong id="EN-US_TOPIC_0000001098990858__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_0000001098990858__b842352706195811">VALUES</strong> appearing within <strong id="EN-US_TOPIC_0000001098990858__b842352706195812">INSERT</strong> is a special case, because the desired column types are known from the <strong id="EN-US_TOPIC_0000001098990858__b842352706195820">INSERT</strong>'s target table, and need not be inferred by scanning the <strong id="EN-US_TOPIC_0000001098990858__b842352706195842">VALUES</strong> list. In this case, <strong id="EN-US_TOPIC_0000001098990858__b842352706195853">VALUE</strong> can handle larger lists than are practical in other contexts.</li><li id="EN-US_TOPIC_0000001098990858__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_0000001098990858__s3feb988c9efa4722acca39124894b1a0"><h4 class="sectiontitle">Syntax</h4><div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001098990858__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="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="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="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><span class="w"></span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001098990858__sd4ddbaa525de4ce7bd3ed96da03aacd6"><h4 class="sectiontitle">Parameter Description</h4><ul id="EN-US_TOPIC_0000001098990858__u3f1a8afad43347008a4e69016a31c188"><li id="EN-US_TOPIC_0000001098990858__lc5e18ed3d6724275a4994c197d6a1901"><strong id="EN-US_TOPIC_0000001098990858__a65fd5db209d24a72b32b48d5c6b30bbb">expression</strong><p id="EN-US_TOPIC_0000001098990858__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_0000001098990858__a857749407f5e404ebd6fc3dee84d7723">In a <strong id="EN-US_TOPIC_0000001098990858__b842352706195958">VALUES</strong> list appearing at the top level of an <strong id="EN-US_TOPIC_0000001098990858__b8423527062002">INSERT</strong>, an expression can be replaced by <strong id="EN-US_TOPIC_0000001098990858__b8423527062004">DEFAULT</strong> to indicate that the destination column's default value should be inserted. <strong id="EN-US_TOPIC_0000001098990858__b84235270620013">DEFAULT</strong> cannot be used when <strong id="EN-US_TOPIC_0000001098990858__b84235270620015">VALUES</strong> appears in other contexts.</p>
|
|
</li><li id="EN-US_TOPIC_0000001098990858__l6eb8377b2715432c9601f56a40e596cc"><strong id="EN-US_TOPIC_0000001098990858__abbc3b9a924eb41d995590e7dcce5d4a0">sort_expression</strong><p id="EN-US_TOPIC_0000001098990858__aa3da33db2e51471b85f2a36e6838def9">Specifies an expression or integer constant indicating how to sort the result rows.</p>
|
|
</li><li id="EN-US_TOPIC_0000001098990858__ldc4588115ff446d395164deb1a22e493"><strong id="EN-US_TOPIC_0000001098990858__a9e826a649ec743ddac606684d4711bf4">ASC</strong><p id="EN-US_TOPIC_0000001098990858__ad8846b3315934c6a91361a01a37e322d">Indicates ascending sort order.</p>
|
|
</li><li id="EN-US_TOPIC_0000001098990858__la4f2d687dd5042448e0993afda6da435"><strong id="EN-US_TOPIC_0000001098990858__a6f3c6f9caa7d4e0d8ece65b68f040509">DESC</strong><p id="EN-US_TOPIC_0000001098990858__ad0e9f8898495478898b87000938e8e56">Indicates descending sort order.</p>
|
|
</li><li id="EN-US_TOPIC_0000001098990858__l644fadf0a13840cbb256844ce64a1c8c"><strong id="EN-US_TOPIC_0000001098990858__a3cf58006c34744758fe0078b2d12a74c">operator</strong><p id="EN-US_TOPIC_0000001098990858__a59901a636e7c4cada0f4f7dea5df466e">Specifies a sorting operator.</p>
|
|
</li><li id="EN-US_TOPIC_0000001098990858__l59a84e8884d04d71983d95cc6d9321ad"><strong id="EN-US_TOPIC_0000001098990858__a940d0dc7b0dd4606ba220e4ec7bd1ba0">count</strong><p id="EN-US_TOPIC_0000001098990858__a36b750ce24a042548638e3171f97d0f2">Specifies the maximum number of rows to return.</p>
|
|
</li><li id="EN-US_TOPIC_0000001098990858__lad98c6a61aad4c7088b830e6cee1bec7"><strong id="EN-US_TOPIC_0000001098990858__b0801842101613">start</strong><p id="EN-US_TOPIC_0000001098990858__af04e3a990e634474b41e4f8b5fc16072">Specifies the number of rows to skip before starting to return rows.</p>
|
|
</li><li id="EN-US_TOPIC_0000001098990858__l3d69bc95d0b0467babcf5922e12fb891"><strong id="EN-US_TOPIC_0000001098990858__a96d32dcfea594c9997dd727ad7ce2186">FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY</strong><p id="EN-US_TOPIC_0000001098990858__ad973ab9a8976439aa9c4f966f6f7df65">The <strong id="EN-US_TOPIC_0000001098990858__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_0000001098990858__b1170155743102917">count</strong> is <strong id="EN-US_TOPIC_0000001098990858__b113796364102917">1</strong>. </p>
|
|
</li></ul>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001098990858__sde46524504b447d1b543dae6cb4e2462"><h4 class="sectiontitle">Examples</h4><p id="EN-US_TOPIC_0000001098990858__en-us_topic_0000001098990904_p17803165715383">Create the <strong id="EN-US_TOPIC_0000001098990858__en-us_topic_0000001098990904_b27927813232059">reason_t1</strong> table.</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001098990858__en-us_topic_0000001098990904_screen729664514194"><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></pre></div></td><td class="code"><div><pre><span></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="w"></span>
|
|
<span class="p">(</span><span class="w"></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="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="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="w"></span>
|
|
<span class="p">);</span><span class="w"></span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001098990858__en-us_topic_0000001098990904_p145562617431">Insert a record into a table.</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001098990858__en-us_topic_0000001098990904_screen7455132616438"><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><span class="w"></span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001098990858__en-us_topic_0000001098990904_p1045511268437">Insert a record into a table. This command is equivalent to the last one.</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001098990858__en-us_topic_0000001098990904_screen7455172664316"><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><span class="w"></span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001098990858__en-us_topic_0000001098990904_p545522644319">Insert records whose <strong id="EN-US_TOPIC_0000001098990858__en-us_topic_0000001098990904_b55230764532059">TABLE_SK</strong> is less than <strong id="EN-US_TOPIC_0000001098990858__en-us_topic_0000001098990904_b103589801032059">1</strong> into the table.</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001098990858__en-us_topic_0000001098990904_screen145642616436"><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><span class="w"></span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001098990858__en-us_topic_0000001098990904_p13455182614310">Insert records into the table.</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001098990858__en-us_topic_0000001098990904_screen476925612426"><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>
|
|
<span class="normal">8</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="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">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span><span class="w"></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="n">TABLE_ID</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">TABLE_NAME</span><span class="w"></span>
|
|
<span class="c1">----------+----------+------------</span>
|
|
<span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">S01</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">StudentA</span><span class="w"></span>
|
|
<span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">T01</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">TeacherA</span><span class="w"></span>
|
|
<span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">T02</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">TeacherB</span><span class="w"></span>
|
|
<span class="p">(</span><span class="mi">3</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span><span class="w"></span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001098990858__en-us_topic_0000001098990904_p2457112619433">Clear existing data in the table and insert data to the table.</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001098990858__en-us_topic_0000001098990904_screen64571826144313"><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></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="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">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span><span class="w"></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="n">TABLE_ID</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">TABLE_NAME</span><span class="w"></span>
|
|
<span class="c1">----------+----------+------------</span>
|
|
<span class="w"> </span><span class="mi">4</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">S02</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">StudentB</span><span class="w"></span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">rows</span><span class="p">)</span><span class="w"></span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001098990858__en-us_topic_0000001098990904_p10540939131519">Insert data back into the <strong id="EN-US_TOPIC_0000001098990858__en-us_topic_0000001098990904_b1661084712419">reason_t1</strong> table.</p>
|
|
<pre class="screen" id="EN-US_TOPIC_0000001098990858__en-us_topic_0000001098990904_screen25401839111512">INSERT INTO reason_t1 SELECT * FROM reason_t1;</pre>
|
|
<p id="EN-US_TOPIC_0000001098990858__en-us_topic_0000001098990904_p105400395154">Specify default values for independent columns.</p>
|
|
<pre class="screen" id="EN-US_TOPIC_0000001098990858__en-us_topic_0000001098990904_screen85406392157">INSERT INTO reason_t1 VALUES (5, 'S03', DEFAULT);</pre>
|
|
<p id="EN-US_TOPIC_0000001098990858__en-us_topic_0000001098990904_p10540103917153">Insert some data in a table to another table: Use the <strong id="EN-US_TOPIC_0000001098990858__en-us_topic_0000001098990904_b165161854142012">WITH</strong> subquery to obtain a temporary table <strong id="EN-US_TOPIC_0000001098990858__en-us_topic_0000001098990904_b751735462012">temp_t</strong>, and then insert all data in <strong id="EN-US_TOPIC_0000001098990858__en-us_topic_0000001098990904_b851795442016">temp_t</strong> to another table <strong id="EN-US_TOPIC_0000001098990858__en-us_topic_0000001098990904_b151745402011">reason_t1</strong>.</p>
|
|
<pre class="screen" id="EN-US_TOPIC_0000001098990858__en-us_topic_0000001098990904_screen954014398155">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>
|
|
|