例: FOR SESSION VOLATILEクエリー バンドでのUPDATEの使用 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/spp1591731285373.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1144
Product Category
Software
Teradata Vantage

この例では、UPDATEオプションを指定してFOR SESSION VOLATILEクエリー バンドを設定します。これにより、クエリー バンド セットの目的を検証し、name:valueのペアarea=westcity=sandiegotree=mapleflower=roseを追加するように、既存のクエリー バンドが更新されたことを示します。

以下は、クエリー バンドを設定し、DBC.SessionTblに書き込むための初期SET QUERY_BANDです。

SET QUERY_BAND = 'area=west;city=sandiego;tree=maple;flower=rose;' FOR SESSION;

以下は、UPDATEオプションを指定したSET QUERY_BAND文です。

     SET QUERY_BAND = 'cat=siamese;dog=akita;' 
     UPDATE FOR SESSION VOLATILE;
      *** Set QUERY_BAND accepted. 
      *** Total elapsed time was 1 second.

この時点でクエリー バンドは‘cat=siamese;dog=akita;area=west;になります。

city=sandiego;tree=maple;flower=rose’次のプロシージャ呼び出しで、これを示します。

     CALL syslib.GetQueryBandSP(qb);
      *** Procedure has been executed. 
      *** Total elapsed time was 1 second.
   QueryBand
   -------------------------------------------------------------------
   =S>    cat=siamese;dog=akita;area=west;city=sandiego;tree=maple;flower=rose;

DBC.SessionTblには1つの行のみが存在し、その行は次のクエリー バンドの行である必要があります。

     'city=sandiego;flower=rose;area=west;cat=asta;tree=maple;' 

次のSELECTリクエストは、DBC.SessionTbl内には1つの行のみが存在し、その行が期待されたものになっていることを示します。

     SELECT queryband 
     FROM DBC.SessionTbl 
     WHERE queryband IS NOT NULL 
     AND   CHAR_LENGTH(queryband) > 0;
      *** Query completed. One row found. One column returned. 
      *** Total elapsed time was 1 second.
     QueryBand
     -----------------------------------------------------------------
     city=sandiego;flower=rose;area=west;cat=asta;tree=maple;