forked from docs/doc-exports
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>
314 lines
40 KiB
HTML
314 lines
40 KiB
HTML
<a name="EN-US_TOPIC_0000001819416153"></a><a name="EN-US_TOPIC_0000001819416153"></a>
|
|
|
|
<h1 class="topictitle1">Migrating Views</h1>
|
|
<div id="body8662426"><p id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_p20180212154319"><strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b31202418832229">CREATE VIEW</strong> (<a href="dws_16_0054.html#EN-US_TOPIC_0000001772696108">short key</a> CV) is used together with <strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b45214466432229">SELECT</strong> to create a view.</p>
|
|
<p id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_p18218165113519">Teradata, GaussDB T, GaussDB A, and GaussDB(DWS) all support the keyword <strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b198512429282">VIEW</strong>. It is enclosed by () in SELECT statements during migration. For details, see the following figures.</p>
|
|
<p id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_p481055981717">Use the <strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b131170795132229"><a href="dws_16_0014.html#EN-US_TOPIC_0000001819416085__en-us_topic_0000001706224349_en-us_topic_0000001432527901_li166012191211">tdMigrateVIEWCHECKOPTIO....</a></strong><strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b14505282732229"> </strong>configuration parameter to configure migration of views containing the WITH CHECK OPTION keyword. If <strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b65480870232229">tdmigrateVIEWCHECKOPTION</strong> is set to <strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b180970070432229">false</strong>, the tool will skip migration of the query and will log a message.</p>
|
|
<p id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_p12137174310167">If the CREATE VIEW includes the LOCK keyword, then the VIEW query will be migrated based on the value of <a href="dws_16_0014.html#EN-US_TOPIC_0000001819416085__en-us_topic_0000001706224349_en-us_topic_0000001432527901_li18084318118">tdMigrateLOCKoption</a>.</p>
|
|
<p id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_p6221363392"><strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b194651321125615">Input - CREATE VIEW</strong></p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_screen26538187479"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">VIEW</span><span class="w"> </span><span class="n">DP_STEDW</span><span class="p">.</span><span class="n">MY_PARAM</span><span class="w"> </span>
|
|
<span class="k">AS</span><span class="w"> </span>
|
|
<span class="k">SELECT</span><span class="w"> </span><span class="n">RUNDATE</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">DP_STEDW</span><span class="p">.</span><span class="n">DATE_TBL</span><span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">dummy</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_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_p4655201817478"><strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b99381316175614">Output</strong></p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_screen20258188124719"><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">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">VIEW</span><span class="w"> </span><span class="n">DP_STEDW</span><span class="p">.</span><span class="n">MY_PARAM</span><span class="w"> </span>
|
|
<span class="k">AS</span><span class="w"> </span>
|
|
<span class="k">SELECT</span><span class="w"> </span><span class="n">RUNDATE</span>
|
|
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">DP_STEDW</span><span class="p">.</span><span class="n">DATE_TBL</span>
|
|
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">dummy</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_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_p9770112705912"><strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b174879618932229">Input: CREATE VIEW WITH FORCE KEYWORD</strong></p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_screen4770192711590"><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></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">FORCE</span><span class="w"> </span><span class="k">VIEW</span><span class="w"> </span><span class="n">IS2010_APP_INFO</span><span class="w"> </span><span class="p">(</span>
|
|
<span class="w"> </span><span class="n">APP_ID</span><span class="p">,</span><span class="w"> </span><span class="n">APP_SHORTNAME</span><span class="p">,</span><span class="w"> </span><span class="n">APP_CHNAME</span><span class="p">,</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="n">APP_ENNAME</span>
|
|
<span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span>
|
|
<span class="k">select</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="n">app_id</span><span class="p">,</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="n">app_shortname</span><span class="p">,</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="n">app_chname</span><span class="p">,</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="n">app_enname</span><span class="w"> </span>
|
|
<span class="k">from</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="n">newdrms</span><span class="p">.</span><span class="n">seas_app_info</span><span class="w"> </span><span class="n">t</span><span class="w"> </span>
|
|
<span class="k">WHERE</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="n">app_status</span><span class="w"> </span><span class="o"><></span><span class="w"> </span><span class="s1">'2'</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_p9770172714597"><strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b1575044513596">Output</strong></p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_screen1877010274591"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span>
|
|
<span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span>
|
|
<span class="cm">/*FORCE*/</span>
|
|
<span class="k">VIEW</span><span class="w"> </span><span class="n">IS2010_APP_INFO</span><span class="w"> </span><span class="p">(</span>
|
|
<span class="w"> </span><span class="n">APP_ID</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="n">APP_SHORTNAME</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="n">APP_CHNAME</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="n">APP_ENNAME</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="k">AS</span>
|
|
<span class="k">SELECT</span>
|
|
<span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="n">app_id</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="n">app_shortname</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="n">app_chname</span><span class="p">,</span>
|
|
<span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="n">app_enname</span>
|
|
<span class="k">FROM</span>
|
|
<span class="w"> </span><span class="n">newdrms</span><span class="p">.</span><span class="n">seas_app_info</span><span class="w"> </span><span class="n">t</span>
|
|
<span class="k">WHERE</span>
|
|
<span class="n">t</span><span class="p">.</span><span class="n">app_status</span><span class="w"> </span><span class="o"><></span><span class="w"> </span><span class="s1">'2'</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_section920213323511"><h4 class="sectiontitle">REPLACE VIEW</h4><p id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_p11983171515412">In Teradata, the <strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b179495318732229">REPLACE VIEW</strong> statement is used to create a view or rebuild the existing view. DSC migrates it into the statements of the <strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b5158135113211">CREATE OR REPLACE VIEW</strong> that is compatible with GaussDB T, GaussDB A, and GaussDB(DWS).</p>
|
|
<p id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_p623217328511"><strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b9403105713525">Input - REPLACE VIEW</strong></p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_screen132329321519"><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">REPLACE</span><span class="w"> </span><span class="k">VIEW</span><span class="w"> </span><span class="n">DP_STEDW</span><span class="p">.</span><span class="n">MY_PARAM</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">SELECT</span>
|
|
<span class="w"> </span><span class="n">RUNDATE</span>
|
|
<span class="w"> </span><span class="k">FROM</span>
|
|
<span class="w"> </span><span class="n">DP_STEDW</span><span class="p">.</span><span class="n">DATE_TBL</span>
|
|
<span class="w"> </span><span class="k">WHERE</span>
|
|
<span class="w"> </span><span class="n">dummy</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_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_p1023218327518"><strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b458712011534">Output</strong></p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_screen82321032125111"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">CREATE</span>
|
|
<span class="k">OR</span><span class="w"> </span><span class="k">REPLACE</span><span class="w"> </span><span class="k">VIEW</span><span class="w"> </span><span class="n">DP_STEDW</span><span class="p">.</span><span class="n">MY_PARAM</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">RUNDATE</span>
|
|
<span class="w"> </span><span class="k">FROM</span>
|
|
<span class="w"> </span><span class="n">DP_STEDW</span><span class="p">.</span><span class="n">DATE_TBL</span>
|
|
<span class="w"> </span><span class="k">WHERE</span>
|
|
<span class="w"> </span><span class="n">dummy</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span>
|
|
<span class="p">)</span>
|
|
<span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_p4232193235115"><strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b3608478537">Input - REPLACE RECURSIVE VIEW</strong></p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_screen192321032155113"><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">Replace</span><span class="w"> </span><span class="k">RECURSIVE</span><span class="w"> </span><span class="k">VIEW</span><span class="w"> </span><span class="n">reachable_from</span><span class="w"> </span><span class="p">(</span>
|
|
<span class="n">emp_id</span><span class="p">,</span><span class="n">emp_name</span><span class="p">,</span><span class="n">DEPTH</span><span class="p">)</span><span class="w"> </span>
|
|
<span class="k">AS</span><span class="w"> </span><span class="p">(</span>
|
|
<span class="k">SELECT</span><span class="w"> </span><span class="n">root</span><span class="p">.</span><span class="n">emp_id</span><span class="p">,</span><span class="n">root</span><span class="p">.</span><span class="n">emp_name</span><span class="p">,</span><span class="mi">0</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">DEPTH</span>
|
|
<span class="k">FROM</span><span class="w"> </span><span class="n">emp</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">root</span>
|
|
<span class="k">WHERE</span><span class="w"> </span><span class="n">root</span><span class="p">.</span><span class="n">mgr_id</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NULL</span><span class="p">);</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_p1123218327516"><strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b1862481415317">Output</strong></p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_screen142341532175118"><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">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">VIEW</span><span class="w"> </span><span class="n">reachable_from</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="p">(</span>
|
|
<span class="k">WITH</span><span class="w"> </span><span class="k">RECURSIVE</span><span class="w"> </span><span class="n">reachable_from</span><span class="w"> </span><span class="p">(</span>
|
|
<span class="n">emp_id</span><span class="p">,</span><span class="n">emp_name</span><span class="p">,</span><span class="n">DEPTH</span><span class="p">)</span><span class="w"> </span>
|
|
<span class="k">AS</span><span class="w"> </span><span class="p">(</span>
|
|
<span class="k">SELECT</span><span class="w"> </span><span class="n">root</span><span class="p">.</span><span class="n">emp_id</span><span class="p">,</span><span class="n">root</span><span class="p">.</span><span class="n">emp_name</span><span class="p">,</span><span class="mi">0</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">DEPTH</span>
|
|
<span class="k">FROM</span><span class="w"> </span><span class="n">emp</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">root</span>
|
|
<span class="k">WHERE</span><span class="w"> </span><span class="n">root</span><span class="p">.</span><span class="n">mgr_id</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NULL</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">reachable_from</span><span class="p">);</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_section15484163014414"><h4 class="sectiontitle">REPLACE FUNCTION</h4><p id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_p1857793214118"><strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b1472121131617">Input</strong></p>
|
|
<pre class="screen" id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_screen18583125684116">REPLACE FUNCTION up_load1.RPT_016_BUS_DATE()
|
|
RETURNS DATE
|
|
LANGUAGE SQL
|
|
CONTAINS SQL
|
|
DETERMINISTIC
|
|
SQL SECURITY DEFINER
|
|
COLLATION INVOKER
|
|
INLINE TYPE 1
|
|
RETURN DATE'2017-08-22';</pre>
|
|
<p id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_p13215144514414"><strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b9632168171613">Output</strong></p>
|
|
<pre class="screen" id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_screen4132130154217">CREATE OR REPLACE FUNCTION up_load1.RPT_016_BUS_DATE()
|
|
RETURNS DATE
|
|
LANGUAGE SQL
|
|
IMMUTABLE
|
|
SECURITY DEFINER
|
|
AS
|
|
$$
|
|
SELECT CAST('2017-08-20' AS DATE)
|
|
$$
|
|
;</pre>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_section626052234019"><h4 class="sectiontitle">CHECK OPTION</h4><p id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_p7672172419251">Use the <strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b46349536132229"><a href="dws_16_0014.html#EN-US_TOPIC_0000001819416085__en-us_topic_0000001706224349_en-us_topic_0000001432527901_li166012191211">tdMigrateVIEWCHECKOPTIO....</a></strong> configuration parameter to configure migration of views containing the WITH CHECK OPTION keyword.</p>
|
|
<p id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_p1494773912401">If a view with <strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b84742815232229">CHECK OPTION</strong> is present in the source, then the <strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b13281669432229">CHECK OPTION</strong> is commented from the target database.</p>
|
|
<p id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_p67491859133316"><strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b195355659932229">Input - VIEW with CHECK OPTION</strong></p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_screen1374995917337"><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="n">CV</span><span class="w"> </span><span class="n">mgr15</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">SEL</span><span class="w"> </span><span class="o">*</span>
|
|
<span class="k">FROM</span>
|
|
<span class="w"> </span><span class="n">employee</span>
|
|
<span class="k">WHERE</span>
|
|
<span class="w"> </span><span class="n">manager_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">15</span><span class="w"> </span><span class="k">WITH</span><span class="w"> </span><span class="k">CHECK</span><span class="w"> </span><span class="k">OPTION</span>
|
|
<span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_p11750165917339"><strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b7974217132229">Output</strong> <strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b125925355332229">(tdMigrateVIEWCHECKOPTION=True</strong>)</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_screen12750135993314"><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></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">VIEW</span><span class="w"> </span><span class="n">mgr15</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="o">*</span>
|
|
<span class="w"> </span><span class="k">FROM</span>
|
|
<span class="w"> </span><span class="n">employee</span>
|
|
<span class="w"> </span><span class="k">WHERE</span>
|
|
<span class="w"> </span><span class="n">manager_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">15</span><span class="w"> </span><span class="cm">/*WITH CHECK OPTION */</span>
|
|
<span class="w"> </span><span class="p">)</span>
|
|
<span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_p1275517016271"><strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b139237701832229">Output</strong> <strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b175350731232229">(tdMigrateVIEWCHECKOPTION=False</strong>)</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_screen13701125610447"><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="n">CV</span><span class="w"> </span><span class="n">mgr15</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">SEL</span><span class="w"> </span><span class="o">*</span>
|
|
<span class="k">FROM</span>
|
|
<span class="w"> </span><span class="n">employee</span>
|
|
<span class="k">WHERE</span>
|
|
<span class="w"> </span><span class="n">manager_id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">15</span><span class="w"> </span><span class="k">WITH</span><span class="w"> </span><span class="k">CHECK</span><span class="w"> </span><span class="k">OPTION</span>
|
|
<span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_section101871839202310"><h4 class="sectiontitle">VIEW WITH RECURSIVE</h4><p id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_p16654154920231">GaussDB T, GaussDB A, and GaussDB(DWS) do not support the Teradata keyword <strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b8881171919345">RECURSIVE VIEW.</strong> Therefore the keyword is replaced with <strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b26272861132229">VIEW WITH RECURSIVE</strong> keyword as shown in the following figures.</p>
|
|
</div>
|
|
<div class="fignone" id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_fig17869903"><span class="figcap"><b>Figure 1 </b>Input view-CREATE RECURSIVE VIEW</span><br><span><img id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_image38176042" src="figure/en-us_image_0000001434809241.png"></span></div>
|
|
<div class="fignone" id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_fig5251673"><span class="figcap"><b>Figure 2 </b>Output view</span><br><span><img id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_image22732357" src="figure/en-us_image_0000001384569256.png"></span></div>
|
|
<div class="section" id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_section11504125643219"><h4 class="sectiontitle">VIEW WITH ACCESS LOCK</h4><p id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_p13188133771619">Use the <a href="dws_16_0014.html#EN-US_TOPIC_0000001819416085__en-us_topic_0000001706224349_en-us_topic_0000001432527901_li18084318118">tdMigrateLOCKOption</a> configuration parameter to configure migration of query containing the LOCK keyword. If <strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b136230504532229">tdMigrateLOCKOption</strong> is set to<strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b193627029832229"> false</strong>, the tool will skip migration of the query and will log a message.</p>
|
|
<p id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_p1538155618327"><strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b136273450632229">Input - VIEW</strong><strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b214171942932229"> with ACCESS LOCK</strong></p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_screen753995619325"><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">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">VIEW</span><span class="w"> </span><span class="n">DP_SVMEDW</span><span class="p">.</span><span class="n">S_LCR_909_001_LCRLOAN</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="k">AS</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="k">LOCK</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">DP_STEDW</span><span class="p">.</span><span class="n">S_LCR_909_001_LCRLOAN</span><span class="w"> </span><span class="k">FOR</span><span class="w"> </span><span class="k">ACCESS</span><span class="w"> </span><span class="k">FOR</span><span class="w"> </span><span class="k">ACCESS</span><span class="w"> </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">RUN_ID</span><span class="p">,</span><span class="w"> </span><span class="n">PRODUCT_ID</span><span class="p">,</span><span class="w"> </span><span class="n">CURRENCY</span>
|
|
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">CASHFLOW</span><span class="p">,</span><span class="w"> </span><span class="n">ENTITY</span><span class="p">,</span><span class="w"> </span><span class="n">LCR</span>
|
|
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">TIME_BUCKET</span><span class="p">,</span><span class="w"> </span><span class="n">MT</span><span class="p">,</span><span class="w"> </span><span class="n">Ctl_Id</span>
|
|
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">File_Id</span><span class="p">,</span><span class="w"> </span><span class="n">Business_Date</span>
|
|
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">DP_STEDW</span><span class="p">.</span><span class="n">S_LCR_909_001_LCRLOAN</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_p19546185616325"><strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b684919152616">Output</strong></p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_screen199221741103210"><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">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">VIEW</span><span class="w"> </span><span class="n">DP_SVMEDW</span><span class="p">.</span><span class="n">S_LCR_909_001_LCRLOAN</span><span class="w"> </span>
|
|
<span class="w"> </span><span class="k">AS</span><span class="w"> </span>
|
|
<span class="cm">/* LOCK TABLE DP_STEDW.S_LCR_909_001_LCRLOAN FOR ACCESS */</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">RUN_ID</span><span class="p">,</span><span class="w"> </span><span class="n">PRODUCT_ID</span><span class="p">,</span><span class="w"> </span><span class="n">CURRENCY</span>
|
|
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">CASHFLOW</span><span class="p">,</span><span class="w"> </span><span class="n">ENTITY</span><span class="p">,</span><span class="w"> </span><span class="n">LCR</span>
|
|
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">TIME_BUCKET</span><span class="p">,</span><span class="w"> </span><span class="n">MT</span><span class="p">,</span><span class="w"> </span><span class="n">Ctl_Id</span>
|
|
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">File_Id</span><span class="p">,</span><span class="w"> </span><span class="n">Business_Date</span>
|
|
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">DP_STEDW</span><span class="p">.</span><span class="n">S_LCR_909_001_LCRLOAN</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<p id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_p132173541115"></p>
|
|
<p id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_p10734185414117"><strong id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_b18734125420114">dbc.columnsV</strong></p>
|
|
|
|
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_table146855542019" frame="border" border="1" rules="all"><tbody><tr id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_row1373555411117"><td class="cellrowborder" valign="top" width="50%"><pre class="screen" id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_screen473517546114">SELECT A.ColumnName AS V_COLS ,A.columnname ||' ' ||CASE WHEN columnType in ('CF','CV') THEN CASE WHEN columnType='CV' THEN 'VAR' ELSE'' END||'CHAR('||TRIM(columnlength (INT))||') CHARACTER SET LATIN'|| CASE WHEN UpperCaseFlag='N' THEN' NOT' ELSE'' END ||' CASESPECIFIC' WHEN columnType='DA' THEN 'DATE' WHEN columnType='TS' THEN 'TIMESTAMP(' || TRIM(DecimalFractionalDigits)||')' WHEN columnType='AT' THEN 'TIME('|| TRIM(DecimalFractionalDigits)||')' WHEN columnType='I' THEN 'INTEGER' WHEN columnType='I1' THEN 'BYTEINT' WHEN columnType='I2' THEN 'SMALLINT' WHEN columnType='I8' THEN 'BIGINT' WHEN columnType='D' THEN 'DECIMAL('||TRIM(DecimalTotalDigits)||','||TRIM(DecimalFractionalDigits)||')' ELSE 'Unknown' END||CASE WHEN Nullable='Y' THEN'' ELSE' NOT NULL' END||'0A'XC AS V_ColT - ,B.ColumnName AS V_PICol -- obtains the primary index FROM dbc.columnsV A LEFT JOIN dbc.IndicesV B ON A.columnName = B.columnName AND B.IndexType IN ('Q','P') AND B.DatabaseName = '${V_TDDLDB}' AND B.tablename='${TARGET_TABLE}' WHERE A.databasename='${V_TDDLDB}' AND A.tablename = '${TARGET_TABLE}' AND A.columnname NOT IN ( 'ETL_JOB_NAME' ,'ETL_TX_DATE' ,'ETL_PROC_DATE' )ORDER BY A.columnid of the target table.</pre>
|
|
</td>
|
|
<td class="cellrowborder" valign="top" width="50%"><pre class="screen" id="EN-US_TOPIC_0000001819416153__en-us_topic_0000001706224093_en-us_topic_0000001434790465_screen67351154318">D DECLARE lv_mig_V_COLS TEXT; lv_mig_V_ColT TEXT; lv_mig_V_PICol TEXT; BEGIN SELECT STRING_AGG(A.ColumnName, ',') , STRING_AGG(A.columnname || ' ' ||CASE WHEN columnType in ('CF','CV') THEN CASE WHEN columnType='CV' THEN 'VAR' ELSE '' END||'CHAR('||TRIM(mig_td_ext.mig_fn_castasint(columnlength))|| ') /*CHARACTER SET LATIN*/'|| CASE WHEN UpperCaseFlag='N' THEN ' NOT' ELSE '' END || ' /*CASESPECIFIC*/' WHEN columnType='DA' THEN 'DATE' WHEN columnType='TS' THEN 'TIMESTAMP(' || TRIM(DecimalFractionalDigits)||')' WHEN columnType='AT' THEN 'TIME('|| TRIM(DecimalFractionalDigits)||')' WHEN columnType='I' THEN 'INTEGER' WHEN columnType='I1' THEN 'BYTEINT' WHEN columnType='I2' THEN 'SMALLINT' WHEN columnType='I8' THEN 'BIGINT' WHEN columnType='D' THEN 'DECIMAL('||TRIM(DecimalTotalDigits)||','||TRIM(DecimalFractionalDigits)||')' ELSE 'Unknown' END||CASE WHEN Nullable='Y' THEN '' ELSE ' NOT NULL' END||E'\x0A', ',') , STRING_AGG(B.ColumnName, ',') INTO lv_mig_V_COLS, lv_mig_V_ColT, lv_mig_V_PICol FROM mig_td_ext.vw_td_dbc_columnsV A LEFT JOIN mig_td_ext.vw_td_dbc_IndicesV B ON A.columnName = B.columnName AND B.IndexType IN ('Q','P') AND B.DatabaseName = 'public' AND B.tablename='emp2' WHERE A.databasename='public' AND A.tablename = 'emp2'; -- ORDER BY A.columnid; END; / </pre>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div class="familylinks">
|
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_16_0059.html">Schema Objects and Data Definition Language (DDL)</a></div>
|
|
</div>
|
|
</div>
|
|
|