Files
doc-exports/docs/dws/tool/dws_16_0102.html
luhuayi a5e3903f6b DWS TG 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-04-23 13:53:01 +00:00

138 lines
24 KiB
HTML

<a name="EN-US_TOPIC_0000001813598784"></a><a name="EN-US_TOPIC_0000001813598784"></a>
<h1 class="topictitle1">System Views</h1>
<div id="body8662426"><p id="EN-US_TOPIC_0000001813598784__en-us_topic_0000001434790477_p849411118014">DSC migrates the system views <strong id="EN-US_TOPIC_0000001813598784__en-us_topic_0000001434790477_b7498131112819">dbc.columnsV</strong> and <strong id="EN-US_TOPIC_0000001813598784__en-us_topic_0000001434790477_b749815115287">dbc.IndicesV</strong>, and the resulting output is displayed below.</p>
<p id="EN-US_TOPIC_0000001813598784__en-us_topic_0000001434790477_p757552311611"><strong id="EN-US_TOPIC_0000001813598784__en-us_topic_0000001434790477_b346115561272">Input:</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001813598784__en-us_topic_0000001434790477_screen1699914331663"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">A</span><span class="p">.</span><span class="n">ColumnName</span><span class="w"> </span>
<span class="k">AS</span><span class="w"> </span><span class="n">V_COLS</span><span class="w"> </span>
<span class="w"> </span><span class="p">,</span><span class="n">A</span><span class="p">.</span><span class="n">columnname</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="s1">' '</span><span class="w"> </span><span class="o">||</span><span class="k">CASE</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">columnType</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="p">(</span><span class="s1">'CF'</span><span class="p">,</span><span class="s1">'CV'</span><span class="p">)</span>
<span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="k">CASE</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">columnType</span><span class="o">=</span><span class="s1">'CV'</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">'VAR'</span><span class="w"> </span><span class="k">ELSE</span><span class="w"> </span><span class="s1">''</span>
<span class="w"> </span><span class="k">END</span><span class="o">||</span><span class="s1">'CHAR('</span><span class="o">||</span><span class="k">TRIM</span><span class="p">(</span><span class="n">columnlength</span><span class="w"> </span><span class="p">(</span><span class="nb">INT</span><span class="p">))</span><span class="o">||</span>
<span class="w"> </span><span class="s1">') CHARACTER SET LATIN'</span><span class="o">||</span>
<span class="w"> </span><span class="k">CASE</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">UpperCaseFlag</span><span class="o">=</span><span class="s1">'N'</span>
<span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">' NOT'</span><span class="w"> </span><span class="k">ELSE</span><span class="w"> </span><span class="s1">''</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="s1">' CASESPECIFIC'</span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">columnType</span><span class="o">=</span><span class="s1">'DA'</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">'DATE'</span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">columnType</span><span class="o">=</span><span class="s1">'TS'</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">'TIMESTAMP('</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="k">TRIM</span><span class="p">(</span><span class="n">DecimalFractionalDigits</span><span class="p">)</span><span class="o">||</span><span class="s1">')'</span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">columnType</span><span class="o">=</span><span class="s1">'AT'</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">'TIME('</span><span class="o">||</span><span class="w"> </span><span class="k">TRIM</span><span class="p">(</span><span class="n">DecimalFractionalDigits</span><span class="p">)</span><span class="o">||</span><span class="s1">')'</span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">columnType</span><span class="o">=</span><span class="s1">'I'</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">'INTEGER'</span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">columnType</span><span class="o">=</span><span class="s1">'I1'</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">'BYTEINT'</span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">columnType</span><span class="o">=</span><span class="s1">'I2'</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">'SMALLINT'</span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">columnType</span><span class="o">=</span><span class="s1">'I8'</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">'BIGINT'</span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">columnType</span><span class="o">=</span><span class="s1">'D'</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">'DECIMAL('</span><span class="o">||</span><span class="k">TRIM</span><span class="p">(</span><span class="n">DecimalTotalDigits</span><span class="p">)</span><span class="o">||</span><span class="s1">','</span><span class="o">||</span><span class="k">TRIM</span><span class="p">(</span><span class="n">DecimalFractionalDigits</span><span class="p">)</span><span class="o">||</span><span class="s1">')'</span>
<span class="w"> </span><span class="k">ELSE</span><span class="w"> </span><span class="s1">'Unknown'</span>
<span class="w"> </span><span class="k">END</span><span class="o">||</span><span class="k">CASE</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="k">Nullable</span><span class="o">=</span><span class="s1">'Y'</span>
<span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">''</span><span class="w"> </span><span class="k">ELSE</span><span class="w"> </span><span class="s1">' NOT NULL'</span><span class="w"> </span><span class="k">END</span><span class="o">||</span><span class="s1">'0A'</span><span class="n">XC</span><span class="w"> </span>
<span class="k">AS</span><span class="w"> </span><span class="n">V_ColT</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="p">,</span><span class="n">B</span><span class="p">.</span><span class="n">ColumnName</span><span class="w"> </span>
<span class="k">AS</span><span class="w"> </span><span class="n">V_PICol</span><span class="w"> </span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">dbc</span><span class="p">.</span><span class="n">columnsV</span><span class="w"> </span><span class="n">A</span><span class="w"> </span><span class="k">LEFT</span><span class="w"> </span><span class="k">JOIN</span><span class="w"> </span><span class="n">dbc</span><span class="p">.</span><span class="n">IndicesV</span><span class="w"> </span><span class="n">B</span>
<span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">A</span><span class="p">.</span><span class="n">columnName</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">columnName</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">B</span><span class="p">.</span><span class="n">IndexType</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="p">(</span><span class="s1">'Q'</span><span class="p">,</span><span class="s1">'P'</span><span class="p">)</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">B</span><span class="p">.</span><span class="n">DatabaseName</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'${V_TDDLDB}'</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">B</span><span class="p">.</span><span class="n">tablename</span><span class="o">=</span><span class="s1">'${TARGET_TABLE}'</span>
<span class="k">WHERE</span><span class="w"> </span><span class="n">A</span><span class="p">.</span><span class="n">databasename</span><span class="o">=</span><span class="s1">'${V_TDDLDB}'</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">A</span><span class="p">.</span><span class="n">tablename</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'${TARGET_TABLE}'</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">A</span><span class="p">.</span><span class="n">columnname</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="s1">'ETL_JOB_NAME'</span><span class="w"> </span><span class="p">,</span><span class="s1">'ETL_TX_DATE'</span>
<span class="w"> </span><span class="p">,</span><span class="s1">'ETL_PROC_DATE'</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="n">A</span><span class="p">.</span><span class="n">columnid</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="EN-US_TOPIC_0000001813598784__en-us_topic_0000001434790477_p7942135215614"><strong id="EN-US_TOPIC_0000001813598784__en-us_topic_0000001434790477_b7471144411283">Output:</strong></p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001813598784__en-us_topic_0000001434790477_screen157491741125617"><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">DECLARE</span><span class="w"> </span><span class="n">lv_mig_V_COLS</span><span class="w"> </span><span class="nb">TEXT</span><span class="p">;</span>
<span class="w"> </span><span class="n">lv_mig_V_ColT</span><span class="w"> </span><span class="nb">TEXT</span><span class="p">;</span>
<span class="w"> </span><span class="n">lv_mig_V_PICol</span><span class="w"> </span><span class="nb">TEXT</span><span class="p">;</span>
<span class="k">BEGIN</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">STRING_AGG</span><span class="p">(</span><span class="n">A</span><span class="p">.</span><span class="n">ColumnName</span><span class="p">,</span><span class="w"> </span><span class="s1">','</span><span class="p">)</span><span class="w"> </span>
<span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">STRING_AGG</span><span class="p">(</span><span class="n">A</span><span class="p">.</span><span class="n">columnname</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="s1">' '</span><span class="w"> </span><span class="o">||</span><span class="k">CASE</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">columnType</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="p">(</span><span class="s1">'CF'</span><span class="p">,</span><span class="s1">'CV'</span><span class="p">)</span>
<span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="k">CASE</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">columnType</span><span class="o">=</span><span class="s1">'CV'</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">'VAR'</span><span class="w"> </span><span class="k">ELSE</span><span class="w"> </span><span class="s1">''</span>
<span class="w"> </span><span class="k">END</span><span class="o">||</span><span class="s1">'CHAR('</span><span class="o">||</span><span class="k">TRIM</span><span class="p">(</span><span class="n">mig_td_ext</span><span class="p">.</span><span class="n">mig_fn_castasint</span><span class="p">(</span><span class="n">columnlength</span><span class="p">))</span><span class="o">||</span>
<span class="w"> </span><span class="s1">') /*CHARACTER SET LATIN*/'</span><span class="o">||</span>
<span class="w"> </span><span class="k">CASE</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">UpperCaseFlag</span><span class="o">=</span><span class="s1">'N'</span>
<span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">' NOT'</span><span class="w"> </span><span class="k">ELSE</span><span class="w"> </span><span class="s1">''</span>
<span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="s1">' /*CASESPECIFIC*/'</span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">columnType</span><span class="o">=</span><span class="s1">'DA'</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">'DATE'</span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">columnType</span><span class="o">=</span><span class="s1">'TS'</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">'TIMESTAMP('</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="k">TRIM</span><span class="p">(</span><span class="n">DecimalFractionalDigits</span><span class="p">)</span><span class="o">||</span><span class="s1">')'</span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">columnType</span><span class="o">=</span><span class="s1">'AT'</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">'TIME('</span><span class="o">||</span><span class="w"> </span><span class="k">TRIM</span><span class="p">(</span><span class="n">DecimalFractionalDigits</span><span class="p">)</span><span class="o">||</span><span class="s1">')'</span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">columnType</span><span class="o">=</span><span class="s1">'I'</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">'INTEGER'</span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">columnType</span><span class="o">=</span><span class="s1">'I1'</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">'BYTEINT'</span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">columnType</span><span class="o">=</span><span class="s1">'I2'</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">'SMALLINT'</span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">columnType</span><span class="o">=</span><span class="s1">'I8'</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">'BIGINT'</span>
<span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">columnType</span><span class="o">=</span><span class="s1">'D'</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">'DECIMAL('</span><span class="o">||</span><span class="k">TRIM</span><span class="p">(</span><span class="n">DecimalTotalDigits</span><span class="p">)</span><span class="o">||</span><span class="s1">','</span><span class="o">||</span><span class="k">TRIM</span><span class="p">(</span><span class="n">DecimalFractionalDigits</span><span class="p">)</span><span class="o">||</span><span class="s1">')'</span>
<span class="w"> </span><span class="k">ELSE</span><span class="w"> </span><span class="s1">'Unknown'</span>
<span class="w"> </span><span class="k">END</span><span class="o">||</span><span class="k">CASE</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="k">Nullable</span><span class="o">=</span><span class="s1">'Y'</span>
<span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">''</span><span class="w"> </span><span class="k">ELSE</span><span class="w"> </span><span class="s1">' NOT NULL'</span><span class="w"> </span><span class="k">END</span><span class="o">||</span><span class="n">E</span><span class="s1">'\x0A'</span><span class="p">,</span><span class="w"> </span><span class="s1">','</span><span class="p">)</span><span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">STRING_AGG</span><span class="p">(</span><span class="n">B</span><span class="p">.</span><span class="n">ColumnName</span><span class="p">,</span><span class="w"> </span><span class="s1">','</span><span class="p">)</span><span class="w"> </span>
<span class="k">INTO</span><span class="w"> </span><span class="n">lv_mig_V_COLS</span><span class="p">,</span><span class="w"> </span><span class="n">lv_mig_V_ColT</span><span class="p">,</span><span class="w"> </span><span class="n">lv_mig_V_PICol</span>
<span class="k">FROM</span><span class="w"> </span><span class="n">mig_td_ext</span><span class="p">.</span><span class="n">vw_td_dbc_columnsV</span><span class="w"> </span><span class="n">A</span><span class="w"> </span><span class="k">LEFT</span><span class="w"> </span><span class="k">JOIN</span><span class="w"> </span><span class="n">mig_td_ext</span><span class="p">.</span><span class="n">vw_td_dbc_IndicesV</span><span class="w"> </span><span class="n">B</span>
<span class="w"> </span><span class="k">ON</span><span class="w"> </span><span class="n">A</span><span class="p">.</span><span class="n">columnName</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">columnName</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">B</span><span class="p">.</span><span class="n">IndexType</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="p">(</span><span class="s1">'Q'</span><span class="p">,</span><span class="s1">'P'</span><span class="p">)</span>
<span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">B</span><span class="p">.</span><span class="n">DatabaseName</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'public'</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">B</span><span class="p">.</span><span class="n">tablename</span><span class="o">=</span><span class="s1">'emp2'</span>
<span class="k">WHERE</span><span class="w"> </span><span class="n">A</span><span class="p">.</span><span class="n">databasename</span><span class="o">=</span><span class="s1">'public'</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="n">A</span><span class="p">.</span><span class="n">tablename</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'emp2'</span><span class="p">;</span>
<span class="c1">-- ORDER BY A.columnid;</span>
<span class="k">END</span><span class="p">;</span>
<span class="o">/</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_16_0036.html">Teradata Syntax Migration</a></div>
</div>
</div>