16.20 - ビュー - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQLデータ定義言語 構文規則および例

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Release Date
2019年3月
Content Type
プログラミング リファレンス
Publication ID
B035-1144-162K-JPN
Language
日本語 (日本)
view_name
最新のSQL作成テキストが報告されるビューの名前。SHOW VIEWが表示できる文字は、12,500文字に制限されています。

SHOW VIEW IN XMLリクエストは、ビューの定義構成内容をすべて報告するわけではありません。そのため、それらについて報告されたXML形式の定義を基に、ビューの定義を分解して再構築することはできません。

ただし、ビュー定義のXMLテキストには、次の有用な情報が含まれているために役立ちます。

  • ビュー定義に含まれる列の名前とデータ型。
  • ビュー定義で参照されるすべてのデータベース オブジェクトの一覧。

詳細は、<Teradata Vantage™ SQLデータ定義言語 - 詳細トピック、B035-1184>を参照してください。

例: SHOW VIEW

この例は、最初にビューを作成し、次にSHOW VIEWリクエストに進み、最後にレポート リクエストの結果を提供します。

     CREATE VIEW staff_info
      (number, name, position, department, sex, dob) AS
       SELECT employee.empno, name, jobtitle, deptno, sex, dob 
       FROM employee
       WHERE jobtitle NOT IN ('Vice Pres', 'Manager') 
       WITH CHECK OPTION;

次のSHOW VIEWリクエストを実行すると、Teradata Databaseは次のビュー定義を返します。

     SHOW VIEW staff_info;
     CREATE VIEW staff_info 
      (number, name, position, department, sex, dob) AS
     SELECT employee.empno, name, jobtitle, deptno, sex, dob 
     FROM employee
     WHERE jobtitle NOT IN ('Vice Pres', 'Manager') 
     WITH CHECK OPTION;

例: XML形式のSHOW VIEW

この例では、user_name.v1表のCREATE VIEWテキストをXML形式で返します。SHOW IN XML TABLEリクエストとは異なり、SHOW IN XML VIEWリクエストで生成されるXML文書では、ビューについて構文解析された問合わせは報告されず、ビューの列定義と、その定義で参照するデータベース オブジェクトのみを含みます。そのため、このXML文書は、ビューの再作成には使用できません。ただし、これは、元のビューと同じ列定義を持つテーブルの作成に使用できます。

v1表は、次のように定義されています。

     CREATE SET TABLE TESTDB.vt1, NO FALLBACK, NO BEFORE JOURNAL,
         NO AFTER JOURNAL, CHECKSUM = DEFAULT, DEFAULT MERGEBLOCKRATIO (
       a1 INTEGER NOT NULL,
       b1 INTEGER,
       c1 CHARACTER(20) CHARACTER SET UNICODE NOT CASESPECIFIC,
       d1 DECIMAL(15,2));

v1の作成テキストは、次のようになります。

     CREATE VIEW v1 AS
       SELECT a1, b1, c1
       FROM vt1
       WHERE d1 > 10000;

次のSHOW VIEW IN XMLリクエストを実行すると、Teradata Databaseは、このリクエストに続く以下のレポートを返します。

     SHOW VIEW v1 IN XML;
<?xml version="1.0" encoding="utf-8"?>
<TeradataDBObjectSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.teradata.com/TeradataDBObject
TeradataDBObject.xsd"
xmlns="http://schemas.teradata.com/TeradataDBObject" version="1.0">
<View name="v1" dbName="testdb">
<ColumnList>
<Column name="a1" order="1">
<DataType><Integer/></DataType>
<Constraint nullable="false"/>
</Column>
<Column name="b1" order="2">
<DataType><Integer/></DataType>
</Column>
<Column name="c1" order="3">
<DataType>
<Char length="20" varying="false" uppercase="false" casespecific="false"
charset="unicode"/>
</DataType>
</Column>        
</ColumnList>
<RefList>
<Ref name="vt1" dbName="testdb" type="table"/>
</RefList>
<SQLText>
<![CDATA[
CREATE VIEW V1 AS
SELECT A1, B1, C1
FROM VT1
WHERE D1 > 10000;
</SQLText>
</View>
<Environment>
<Server dbRelease="14.10.00.00" dbVersion="14.10.00.06" hostName="testhost"/>
<User userId="0" userName="dbc"/>
<Session charset="utf8" dateTime="2012-01-01T14:00:00-08:00"/>
</Environment>
</TeradataDBObjectSet>