doc-exports/docs/dws/tool/dws_16_0095.html
Lu, Huayi 27019c2991 DWS TOOL 830.201 version
Reviewed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
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>
2024-05-16 07:35:25 +00:00

114 lines
10 KiB
HTML

<a name="EN-US_TOPIC_0000001772696144"></a><a name="EN-US_TOPIC_0000001772696144"></a>
<h1 class="topictitle1">MERGE</h1>
<div id="body8662426"><div class="note" id="EN-US_TOPIC_0000001772696144__en-us_topic_0000001706223853_en-us_topic_0000001434910261_note122144478368"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="EN-US_TOPIC_0000001772696144__en-us_topic_0000001706223853_en-us_topic_0000001434910261_p32156477367">Gauss database in 6.5.0 or later versions support the MERGE function.</p>
</div></div>
<p id="EN-US_TOPIC_0000001772696144__en-us_topic_0000001706223853_en-us_topic_0000001434910261_p111061358114213"><strong id="EN-US_TOPIC_0000001772696144__en-us_topic_0000001706223853_en-us_topic_0000001434910261_b76995926531954">MERGE </strong>is an ANSI-standard SQL syntax operator used to select rows from one or more sources for updating or inserting into a table or view. The conditions to update or insert to the target table or view can be specified.</p>
<p id="EN-US_TOPIC_0000001772696144__en-us_topic_0000001706223853_en-us_topic_0000001434910261_p19197324535"><strong id="EN-US_TOPIC_0000001772696144__en-us_topic_0000001706223853_en-us_topic_0000001434910261_b199965071931954">Input: MERGE</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001772696144__en-us_topic_0000001706223853_en-us_topic_0000001434910261_screen829401434413"><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="n">MERGE</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">tab1</span><span class="w"> </span><span class="n">A</span>
<span class="k">using</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="n">c1</span><span class="p">,</span><span class="w"> </span><span class="n">c2</span><span class="p">,</span><span class="w"> </span><span class="p">...</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">tab2</span><span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="p">...)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">B</span>
<span class="k">ON</span><span class="w"> </span><span class="n">A</span><span class="p">.</span><span class="n">c1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">B</span><span class="p">.</span><span class="n">c1</span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">MATCHED</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span>
<span class="w"> </span><span class="k">UPDATE</span><span class="w"> </span><span class="k">SET</span><span class="w"> </span><span class="n">c2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">c2</span>
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">c3</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">c3</span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="n">MATCHED</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span>
<span class="k">INSERT</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="n">B</span><span class="p">.</span><span class="n">c1</span><span class="p">,</span><span class="w"> </span><span class="n">B</span><span class="p">.</span><span class="n">c2</span><span class="p">,</span><span class="w"> </span><span class="n">B</span><span class="p">.</span><span class="n">c3</span><span class="p">);</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001772696144__en-us_topic_0000001706223853_en-us_topic_0000001434910261_p729691413446"><strong id="EN-US_TOPIC_0000001772696144__en-us_topic_0000001706223853_en-us_topic_0000001434910261_b942732749">Output</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001772696144__en-us_topic_0000001706223853_en-us_topic_0000001434910261_screen10296114144415"><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>
<span class="normal"> 9</span>
<span class="normal">10</span>
<span class="normal">11</span>
<span class="normal">12</span>
<span class="normal">13</span>
<span class="normal">14</span>
<span class="normal">15</span>
<span class="normal">16</span>
<span class="normal">17</span>
<span class="normal">18</span>
<span class="normal">19</span>
<span class="normal">20</span>
<span class="normal">21</span>
<span class="normal">22</span>
<span class="normal">23</span>
<span class="normal">24</span>
<span class="normal">25</span>
<span class="normal">26</span>
<span class="normal">27</span>
<span class="normal">28</span>
<span class="normal">29</span>
<span class="normal">30</span>
<span class="normal">31</span>
<span class="normal">32</span>
<span class="normal">33</span>
<span class="normal">34</span>
<span class="normal">35</span>
<span class="normal">36</span>
<span class="normal">37</span>
<span class="normal">38</span>
<span class="normal">39</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">WITH</span><span class="w"> </span><span class="n">B</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="k">SELECT</span>
<span class="w"> </span><span class="n">c1</span>
<span class="w"> </span><span class="p">,</span><span class="n">c2</span>
<span class="w"> </span><span class="p">,...</span>
<span class="w"> </span><span class="k">FROM</span>
<span class="w"> </span><span class="n">tab2</span>
<span class="w"> </span><span class="k">WHERE</span>
<span class="w"> </span><span class="p">...</span>
<span class="p">)</span>
<span class="p">,</span><span class="n">UPD_REC</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="k">UPDATE</span>
<span class="w"> </span><span class="n">tab1</span><span class="w"> </span><span class="n">A</span>
<span class="w"> </span><span class="k">SET</span>
<span class="w"> </span><span class="n">c2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">c2</span>
<span class="w"> </span><span class="p">,</span><span class="n">c3</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">c3</span>
<span class="w"> </span><span class="k">FROM</span>
<span class="w"> </span><span class="n">B</span>
<span class="w"> </span><span class="k">WHERE</span>
<span class="w"> </span><span class="n">A</span><span class="p">.</span><span class="n">c1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">B</span><span class="p">.</span><span class="n">c1</span><span class="w"> </span><span class="n">returning</span><span class="w"> </span><span class="n">A</span><span class="p">.</span><span class="w"> </span><span class="o">*</span>
<span class="p">)</span>
<span class="k">INSERT</span>
<span class="w"> </span><span class="k">INTO</span>
<span class="w"> </span><span class="n">tab1</span><span class="w"> </span><span class="k">SELECT</span>
<span class="w"> </span><span class="n">B</span><span class="p">.</span><span class="n">c1</span>
<span class="w"> </span><span class="p">,</span><span class="n">B</span><span class="p">.</span><span class="n">c2</span>
<span class="w"> </span><span class="p">,</span><span class="n">B</span><span class="p">.</span><span class="n">c3</span>
<span class="w"> </span><span class="k">FROM</span>
<span class="w"> </span><span class="n">B</span>
<span class="w"> </span><span class="k">WHERE</span>
<span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">EXISTS</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="k">SELECT</span>
<span class="w"> </span><span class="mi">1</span>
<span class="w"> </span><span class="k">FROM</span>
<span class="w"> </span><span class="n">UPD_REC</span><span class="w"> </span><span class="n">A</span>
<span class="w"> </span><span class="k">WHERE</span>
<span class="w"> </span><span class="n">A</span><span class="p">.</span><span class="n">c1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">B</span><span class="p">.</span><span class="n">c1</span>
<span class="w"> </span><span class="p">)</span>
<span class="p">;</span><span class="w"> </span>
</pre></div></td></tr></table></div>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_16_0084.html">Data Manipulation Language (DML)</a></div>
</div>
</div>