16.20 - 例: SHOWBLOCK出力のファイル システム情報テーブルの挿入(オプション'S') - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQL演算子およびユーザー定義関数

prodname
Teradata Database
Teradata Vantage NewSQL Engine
vrm_release
16.20
category
プログラミング リファレンス
管理
featnum
B035-1210-162K-JPN

最初のステップとして、ファイル システム情報行を格納するためのターゲット テーブルを作成することができます。

手動、またはCreateFsysInfoTableマクロを使用して、ターゲット テーブルを作成します。

exec createfsysinfotable('Call_Logs','showbtrgttableshort','perm','y','showblocks','s', 'TD_Map1');

SHOWBLOCKSに関するファイル システム情報を格納するためのターゲット テーブルを作成するときのS表示オプションに対するターゲット テーブルの定義を以下に示します。

show table Call_Logs.showbtrgttable;

CREATE SET TABLE Call_Logs.showbtrgttable,FALLBACK ,
     NO BEFORE JOURNAL,
     NO AFTER JOURNAL,
     CHECKSUM = DEFAULT,
     DEFAULT MERGEBLOCKRATIO,
     (
      TheDate DATE FORMAT 'YY/MM/DD',
      TheTime TIME(6),
      DataBaseName VARCHAR(128) CHARACTER SET UNICODE NOT CASESPECIFIC NOT NULL,
      TableName VARCHAR(128) CHARACTER SET UNICODE NOT CASESPECIFIC NOT NULL,
      TableID BYTE(6),
      TableIDTAI INTEGER,
      CompressionMethod CHAR(8) CHARACTER SET LATIN NOT CASESPECIFIC,
      CompressionState VARCHAR(2) CHARACTER SET LATIN NOT CASESPECIFIC,
      EstCompRatio DECIMAL(5,2),
      EstPctOfUncompDBs DECIMAL(5,2),
      PctDBsIn1to8 BYTEINT,
      PctDBsIn9to24 BYTEINT,
      PctDBsIn25to64 BYTEINT,
      PctDBsIn65to120 BYTEINT,
      PctDBsIn121to168 BYTEINT,
      PctDBsIn169to216 BYTEINT,
      PctDBsIn217to256 BYTEINT,
      PctDBsIn257to360 BYTEINT,
      PctDBsIn361to456 BYTEINT,
      PctDBsIn457to512 BYTEINT,
      PctDBsIn513to760 BYTEINT,
      PctDBsIn761to1024 BYTEINT,
      PctDBsIn1025to1034 BYTEINT,
      PctDBsIn1035to1632 BYTEINT,
      PctDBsIn1633to2048 BYTEINT,
      MinDBSize INTEGER,
      AvgDBSize INTEGER,
      MaxDBSize INTEGER,
      TotalNumDBs BIGINT,
      LrgCyls BIGINT,
      SmlCyls BIGINT,
      MapName VARCHAR(128) CHARACTER SET UNICODE NOT CASESPECIFIC NOT NULL
)
PRIMARY INDEX ( TheDate ,TheTime ,TableID ,CompressionState );

次の例に、S表示オプションのPopulateFsysInfoTableマクロ実行からのBTEQ出力と、出力を強制的に画面に表示するtarget_database_nameおよびtarget_table_nameの空の文字列を示します。

出力の列タイトル名は、ターゲット テーブルを使用して出力を格納せずに画面にリダイレクトされるときに変わります。例えば、列名がターゲット テーブルで"PctDBsIn1to8"とすると、出力が画面にリダイレクトされた場合、対応する列は"% Of DBs In 1 to 8"となります。

PopulateFsysInfoTableマクロの後に戻される警告は、出力が画面に表示されるときに想定されている動作です。

BTEQ .foldlineコマンドと.sidetitlesコマンドは、戻されたデータ セットの列タイトルが横に表示され、これらの列の対応する値が列タイトルの横に表示されるようにするために使用されています。
次のPopulateFsysInfoTable()呼び出しの例では、出力/結果を画面にリダイレクトします(データベースとテーブル名に空の文字列を指定)。特定のテーブルに出力/結果を挿入する場合、テーブルがCreateFsysInfoTable()マクロで作成され、同じ/display_optがPopulateFsysInfoTableおよびCreateFsysInfoTableの両方のマクロの呼び出しに指定されていることを確認します。
exec populatefsysinfotable('Call_Logs', 'Daily_Log','showblocks','s','','');
 *** Procedure has been executed.
 *** Warning: 3212 The stored procedure returned one or more result sets.
 *** Total elapsed time was 34 seconds.

*** ResultSet# 1 : 1 rows returned by "SYSLIB.POPULATEFSYSINFOTABLESP".
               Date 13/12/22
                Time 21:45:29
            DB//Name Call_Logs
           Tbl//Name Daily_Log
          TID               0000E90A0000
      TID//TAI              1024
        Comp//Method MANUAL
         Comp//State U
  Est Comp//Ratio(%)
  Est Uncomp//DBs(%)
      % Of DBs In//1 to 8//Sects
     % Of DBs In//9 to 24//Sects
    % Of DBs In//25 to 64//Sects
   % Of DBs In//65 to 120//Sects 50
  % Of DBs In//121 to 168//Sects
  % Of DBs In//169 to 216//Sects
  % Of DBs In//217 to 256//Sects 50
  % Of DBs In//257 to 360//Sects
  % Of DBs In//361 to 456//Sects
  % Of DBs In//457 to 512//Sects
  % Of DBs In//513 to 760//Sects
 % Of DBs In//761 to 1024//Sects
% Of DBs In//1025 to 1304//Sects
% Of DBs In//1305 to 1632//Sects
% Of DBs In//1633 to 2048//Sects
         Min DB Size          96
         Avg DB Size         176
         Max DB Size         254
           Total DBs                    8
            Lrg Cyls                    4
            Sml Cyls
            Map//Name