Files
doc-exports/docs/dws/dev/dws_04_0538.html
luhuayi 177cd61a57 DWS DEVG 910.211 version
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com>
Co-authored-by: luhuayi <luhuayi@huawei.com>
Co-committed-by: luhuayi <luhuayi@huawei.com>
2025-05-05 07:44:03 +00:00

82 lines
9.4 KiB
HTML

<a name="EN-US_TOPIC_0000001811609917"></a><a name="EN-US_TOPIC_0000001811609917"></a>
<h1 class="topictitle1">Branch Statements</h1>
<div id="body8662426"><div class="section" id="EN-US_TOPIC_0000001811609917__s2a803c8b728b43f0a9735018bd44dcb8"><h4 class="sectiontitle">Syntax</h4><p id="EN-US_TOPIC_0000001811609917__a7155e29910a346c78015218bb4652618"><a href="#EN-US_TOPIC_0000001811609917__ff24d5dd562a74f45a3fc293326312d45">Figure 1</a> shows the syntax diagram.</p>
<div class="fignone" id="EN-US_TOPIC_0000001811609917__ff24d5dd562a74f45a3fc293326312d45"><a name="EN-US_TOPIC_0000001811609917__ff24d5dd562a74f45a3fc293326312d45"></a><a name="ff24d5dd562a74f45a3fc293326312d45"></a><span class="figcap"><b>Figure 1 </b>case_when::=</span><br><span><img id="EN-US_TOPIC_0000001811609917__ic68462e034e441649158785361b987bb" src="figure/en-us_image_0000001811491505.png"></span></div>
<p id="EN-US_TOPIC_0000001811609917__a13a6f0d2a3d144e98116de3f7e5eea6e"><a href="#EN-US_TOPIC_0000001811609917__f5787784e89b34223ba6a14f07d74dcba">Figure 2</a> shows the syntax diagram for <strong id="EN-US_TOPIC_0000001811609917__b1860703271105640">when_clause</strong>.</p>
<div class="fignone" id="EN-US_TOPIC_0000001811609917__f5787784e89b34223ba6a14f07d74dcba"><a name="EN-US_TOPIC_0000001811609917__f5787784e89b34223ba6a14f07d74dcba"></a><a name="f5787784e89b34223ba6a14f07d74dcba"></a><span class="figcap"><b>Figure 2 </b>when_clause::=</span><br><span><img id="EN-US_TOPIC_0000001811609917__ic1801c70d4594f099c708645204d2f10" src="figure/en-us_image_0000001811610581.png"></span></div>
<p id="EN-US_TOPIC_0000001811609917__a696c15d0a4d1488696d1e0016a59f2df">Parameter description:</p>
<ul id="EN-US_TOPIC_0000001811609917__udcc82517775745e8a3df3f7f9fac3eb3"><li id="EN-US_TOPIC_0000001811609917__l8cf4a623f21d4ec09991c5655986fbf8"><strong id="EN-US_TOPIC_0000001811609917__b842352706121414">case_expression</strong>: specifies the variable or expression.</li><li id="EN-US_TOPIC_0000001811609917__l01b8cd219b87432f8f1753022f2cdb19"><strong id="EN-US_TOPIC_0000001811609917__b842352706121417">when_expression</strong>: specifies the constant or conditional expression.</li><li id="EN-US_TOPIC_0000001811609917__l28f065b247754eb498995cb33a822bd2"><strong id="EN-US_TOPIC_0000001811609917__en-us_topic_0027043010_b44381298161731">statement</strong>: specifies the statement to execute.</li></ul>
</div>
<div class="section" id="EN-US_TOPIC_0000001811609917__sb0121b89bbd6453d901d99748a5569ec"><h4 class="sectiontitle">Examples</h4><div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001811609917__sc54fc67f46ee4a2580f413c9cd438457"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="k">PROCEDURE</span><span class="w"> </span><span class="n">proc_case_branch</span><span class="p">(</span><span class="n">pi_result</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="nb">integer</span><span class="p">,</span><span class="w"> </span><span class="n">pi_return</span><span class="w"> </span><span class="k">out</span><span class="w"> </span><span class="nb">integer</span><span class="p">)</span>
<span class="k">AS</span><span class="w"> </span>
<span class="w"> </span><span class="k">BEGIN</span><span class="w"> </span>
<span class="w"> </span><span class="k">CASE</span><span class="w"> </span><span class="n">pi_result</span><span class="w"> </span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span>
<span class="w"> </span><span class="n">pi_return</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="mi">111</span><span class="p">;</span><span class="w"> </span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span>
<span class="w"> </span><span class="n">pi_return</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="mi">222</span><span class="p">;</span><span class="w"> </span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span>
<span class="w"> </span><span class="n">pi_return</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="mi">333</span><span class="p">;</span><span class="w"> </span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="mi">6</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span>
<span class="w"> </span><span class="n">pi_return</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="mi">444</span><span class="p">;</span><span class="w"> </span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="mi">7</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span>
<span class="w"> </span><span class="n">pi_return</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="mi">555</span><span class="p">;</span><span class="w"> </span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="mi">8</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span>
<span class="w"> </span><span class="n">pi_return</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="mi">666</span><span class="p">;</span><span class="w"> </span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="mi">9</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span>
<span class="w"> </span><span class="n">pi_return</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="mi">777</span><span class="p">;</span><span class="w"> </span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="mi">10</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span>
<span class="w"> </span><span class="n">pi_return</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="mi">888</span><span class="p">;</span><span class="w"> </span>
<span class="w"> </span><span class="k">ELSE</span><span class="w"> </span>
<span class="w"> </span><span class="n">pi_return</span><span class="w"> </span><span class="p">:</span><span class="o">=</span><span class="w"> </span><span class="mi">999</span><span class="p">;</span><span class="w"> </span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="k">CASE</span><span class="p">;</span><span class="w"> </span>
<span class="w"> </span><span class="n">raise</span><span class="w"> </span><span class="n">info</span><span class="w"> </span><span class="s1">'pi_return : %'</span><span class="p">,</span><span class="n">pi_return</span><span class="w"> </span><span class="p">;</span><span class="w"> </span>
<span class="k">END</span><span class="p">;</span><span class="w"> </span>
<span class="o">/</span>
<span class="k">CALL</span><span class="w"> </span><span class="n">proc_case_branch</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="mi">0</span><span class="p">);</span>
<span class="c1">--Delete the stored procedure.</span>
<span class="k">DROP</span><span class="w"> </span><span class="k">PROCEDURE</span><span class="w"> </span><span class="n">proc_case_branch</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_04_0532.html">GaussDB(DWS) Stored Procedure Control Statements</a></div>
</div>
</div>