doc-exports/docs/dws/tool/dws_mt_0128.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

130 lines
22 KiB
HTML

<a name="EN-US_TOPIC_0000001819416321"></a><a name="EN-US_TOPIC_0000001819416321"></a>
<h1 class="topictitle1">Pseudo Columns</h1>
<div id="body8662426"><p id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727099_p153001227758">This section contains the migration syntax of Oracle Pseudo Columns. The migration syntax decides how the keywords/features are migrated.</p>
<p id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727099_p64332156202014">A <strong id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0237712381_b3275486714264">pseudo column</strong> is similar to a table column, but is not actually stored in the table. User can select values from pseudo columns, but cannot insert, update, or delete values in the pseudo columns.</p>
<div class="section" id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_section1751695411617"><h4 class="sectiontitle">ROWID</h4><p id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727395_p1324615625114">The <strong id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0237712381_b17544227145115">ROWID</strong> pseudo column returns the address of a specific row.</p>
<div class="fignone" id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727395_fig9424869202132"><span class="figcap"><b>Figure 1 </b>Input - ROWID</span><br><span><img id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727395_image25216959202132" src="figure/en-us_image_0000001658025254.png"></span></div>
<div class="fignone" id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727395_fig29307826202132"><span class="figcap"><b>Figure 2 </b>Output - ROWID</span><br><span><img id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727395_image25123685202132" src="figure/en-us_image_0000001657865930.png"></span></div>
</div>
<div class="section" id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_section4417229314"><h4 class="sectiontitle">ROWNUM</h4><p id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727079_p193031943528">For each row of data returned by the query, the <strong id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_b48291431162">ROWNUM</strong> pseudo column returns a number, indicating the order with which the Oracle database selects rows from a table or a group of joined rows. The value of <strong id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_b240051919715">ROWNUM</strong> in the first row is <strong id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_b940771915713">1</strong>, the value of <strong id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_b240717198712">ROWNUM</strong> in the second row is <strong id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_b340881915711">2</strong>, and so on.</p>
<div class="fignone" id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727079_fig33924211202219"><span class="figcap"><b>Figure 3 </b>Input - ROWNUM</span><br><span><img id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727079_image63506572202219" src="figure/en-us_image_0000001658025258.png"></span></div>
<div class="fignone" id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727079_fig43758742202219"><span class="figcap"><b>Figure 4 </b>Output - ROWNUM</span><br><span><img id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727079_image54797241202219" src="figure/en-us_image_0000001657865926.png"></span></div>
<p id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727079_p1791383819514"><strong id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_b390635042310">Input</strong><strong id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_b390655020236">-ROWNUM with UPDATE</strong></p>
<p id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727079_p18297431131117">When executing <strong id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_b0904182414247">UPDATE</strong>, if ROWNUM with some value (integer) is used, the system will UPDATE records using the operator near ROWNUM accordingly.</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727079_screen711410205123"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">UPDATE</span><span class="w"> </span><span class="n">SCMS_MSGPOOL_LST</span>
<span class="w"> </span><span class="k">SET</span><span class="w"> </span><span class="n">MSG_STD</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'11'</span>
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">UNISEQNO</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">IN_OUNISEQNO</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">MSG_TYP1</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="p">(</span><span class="s1">'MT103'</span><span class="p">,</span><span class="w"> </span><span class="s1">'MT199'</span><span class="p">)</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">ROWNUM</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_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727079_p11951949111113"><strong id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0237712381_b3842404127">Output</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727079_screen17942113191211"><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="w"> </span><span class="k">UPDATE</span><span class="w"> </span><span class="n">SCMS_MSGPOOL_LST</span>
<span class="w"> </span><span class="k">SET</span><span class="w"> </span><span class="n">MSG_STD</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'11'</span>
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="p">(</span><span class="n">xc_node_id</span><span class="p">,</span><span class="n">ctid</span><span class="p">)</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="p">(</span><span class="k">select</span><span class="w"> </span><span class="n">xc_node_id</span><span class="p">,</span><span class="w"> </span><span class="n">ctid</span><span class="w"> </span>
<span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">SCMS_MSGPOOL_LST</span><span class="w"> </span>
<span class="w"> </span><span class="k">where</span><span class="w"> </span><span class="n">UNISEQNO</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">IN_OUNISEQNO</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">MSG_TYP1</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="p">(</span><span class="s1">'MT103'</span><span class="p">,</span><span class="w"> </span><span class="s1">'MT199'</span><span class="p">)</span>
<span class="w"> </span><span class="k">LIMIT</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_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727079_p383133314116"><strong id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0237712381_b10966154615167">Input</strong><strong id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0237712381_b096616460163">-ROWNUM with DELETE</strong></p>
<p id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727079_p851554462614">When executing DELETED, if ROWNUM with some value (integer) is used, system will DELETE records using the operator near ROWNUM accordingly.</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727079_screen1329464211172"><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">delete</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">test1</span><span class="w"> </span>
<span class="k">where</span><span class="w"> </span><span class="n">c1</span><span class="o">=</span><span class="s1">'abc'</span><span class="w"> </span><span class="k">and</span><span class="w"> </span><span class="n">rownum</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_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727079_p168702114189"><strong id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0237712381_b28701612188">Output</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727079_screen1687081131811"><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">delete</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">test1</span><span class="w"> </span><span class="k">where</span><span class="w"> </span><span class="p">(</span><span class="n">xc_node_id</span><span class="p">,</span><span class="n">ctid</span><span class="p">)</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="p">(</span><span class="k">select</span><span class="w"> </span><span class="n">xc_node_id</span><span class="p">,</span><span class="w"> </span><span class="n">ctid</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">test1</span><span class="w"> </span><span class="k">where</span><span class="w"> </span><span class="n">c1</span><span class="o">=</span><span class="s1">'abc'</span><span class="w"> </span><span class="k">limit</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_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727079_p1534128113912"><strong id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0237712381_b2845217124015">Input - UPDATE with ROWNUM</strong></p>
<p id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727079_p656381115289">Scripts of UPDATE and DELETE that are migrated through ROWNUM contains LIMIT, which is not supported by Gauss.</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727079_screen456954174013"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">UPDATE</span><span class="w"> </span><span class="n">SCMS_MSGPOOL_LST</span>
<span class="w"> </span><span class="k">SET</span><span class="w"> </span><span class="n">MSG_STD</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'11'</span>
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">UNISEQNO</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">IN_OUNISEQNO</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">MSG_TYP1</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="p">(</span><span class="s1">'MT103'</span><span class="p">,</span><span class="w"> </span><span class="s1">'MT199'</span><span class="p">)</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">ROWNUM</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_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727079_p1918616126405"><strong id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_b876246014">Output</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727079_screen10572834154118"><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">UPDATE</span><span class="w"> </span><span class="n">SCMS_MSGPOOL_LST</span>
<span class="w"> </span><span class="k">SET</span><span class="w"> </span><span class="n">MSG_STD</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'11'</span>
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="p">(</span><span class="n">xc_node_id</span><span class="p">,</span><span class="w"> </span><span class="n">ctid</span><span class="p">)</span><span class="w"> </span><span class="o">=</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">xc_node_id</span><span class="p">,</span><span class="w"> </span><span class="n">ctid</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">SCMS_MSGPOOL_LST</span>
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">UNISEQNO</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">IN_OUNISEQNO</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">MSG_TYP1</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="p">(</span><span class="s1">'MT103'</span><span class="p">,</span><span class="w"> </span><span class="s1">'MT199'</span><span class="p">)</span><span class="w"> </span>
<span class="w"> </span><span class="k">LIMIT</span><span class="w"> </span><span class="mi">1</span>
<span class="w"> </span><span class="p">);</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727079_p314021317402"><strong id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0237712381_b1484501721217">Input - DELETE with ROWNUM</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727079_screen2186841151218"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">DELETE</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">SPMS_APP_PUBLISH</span>
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">NOVA_NO</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">IN_NOVA_NO</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">DELIVERY_TYPE</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'1'</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">PUBLISH_DATE</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">IN_PUBLISH_DATE</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">ROWNUM</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_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727079_p151635401317"><strong id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0237712381_b1916318419131">Output</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416321__en-us_topic_0000001658024874_en-us_topic_0238518391_en-us_topic_0237362232_en-us_topic_0202727079_screen1116313421315"><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">DELETE</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">SPMS_APP_PUBLISH</span>
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="p">(</span><span class="n">xc_node_id</span><span class="p">,</span><span class="w"> </span><span class="n">ctid</span><span class="p">)</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="p">(</span><span class="k">SELECT</span><span class="w"> </span><span class="n">xc_node_id</span><span class="p">,</span><span class="w"> </span><span class="n">ctid</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">SPMS_APP_PUBLISH</span>
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">NOVA_NO</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">IN_NOVA_NO</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">DELIVERY_TYPE</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'1'</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">PUBLISH_DATE</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">IN_PUBLISH_DATE</span><span class="w"> </span>
<span class="w"> </span><span class="k">LIMIT</span><span class="w"> </span><span class="mi">1</span>
<span class="w"> </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_mt_0104.html">Oracle Syntax Migration</a></div>
</div>
</div>