SESSIONS - Basic Teradata Query

Basic Teradata Query リファレンス

Product
Basic Teradata Query
Release Number
16.20
Published
2018年4月
Language
日本語
Last Update
2019-07-11
dita:mapPath
ja-JP/kil1527114222313.ditamap
dita:ditavalPath
ja-JP/kil1527114222313.ditaval
dita:id
B035-2414
Product Category
Teradata Tools and Utilities

目的

この制御によって、ユーザーは、LOGONコマンドを次に使用するときに、BTEQがログオンを要求するデータベース セッション数を指定できます。

構文



次のような場合に当てはまります。

n
BTEQが実行するセッションの数。

nの最大値は200です。

セッションの数については、その時点でTeradata Databaseから使用できるセッション数によっても制限されることがあります。

セッション予約の詳細については、<Teradata TDPリファレンス、B035-2416>の「DISABLE SESSION RESERVE」および「ENABLE SESSION RESERVE」を参照してください。

使用上の注意

SESSIONSコマンドは、LOGONコマンドの前に指定する必要があります。 セッションがログオンされてから、それらのセッションがログオフされるまでの間は、SESSIONSコマンドは受け入れられません。 次回のLOGONコマンドでログオンされるセッション数には、最後のSESSIONSコマンドのセッション数が使用されます。

SESSIONSコマンドを一度も使用していなければ、1つのセッションのみがログオンされます。

複数のセッションを並行して実行するためには、REPEATコマンドまたは=コマンドを使用します。 複数のセッションを使用する場合、リクエストの処理順序は保証されません。 すべてのセッションが同じリクエストを処理し、そのデータのみが異なります。

複数のセッションの実行には、使用中のセッションが実行不可能になった場合にリクエストを再試行できる予備のセッションがある、という利点があります。

REPEATコマンドと共に複数のセッションを実行する場合には、Teradata SQLのDATABASE文の前にセッション数を指定したREPEATコマンドを入力します。また、セッション固有の属性をデータベースで設定する場合は、REPEATコマンドを使用し、各セッションの動作が同じになるようにします。

SHOW CONTROLSコマンドで、nの現在値を表示させることができます。

SESSIONSコマンドは、Teradata SQLマクロでは使用できません。

例1 – SESSIONS

Teradata SQLのINSERTリクエストが必要なだけ繰り返される3つのセッションを並列で実行するためには、次のように指定します。

.SET SESSIONS 3
.LOGON SIA1/KLD
.REPEAT 3
DATABASE Workforce;
.REPEAT *
USING num(SMALLINT)
INSERT INTO Department (DeptNo) VALUES (:num)
;

最初のREPEATコマンドで、デフォルトのデータベースがすべてのセッションに設定されます。 2番目のREPEATコマンドは、すべてのデータが挿入されるまで3つのセッションを実行させることを示しています。 最初のREPEATコマンドを指定しない場合、Workforceデータベースを使用するのは最初のセッションだけになります。 他の2つのセッションにはデータベースは設定されません。

例2 – SESSIONS

表名を指定するTeradata SQLコマンドの中にデフォルトのデータベースを指定する場合は、以下の構文を使用します。

.SET SESSIONS 3
.LOGON SIA1/KLD
.REPEAT *
USING num(SMALLINT)
INSERT INTO Workforce.Department (DeptNo)
VALUES (:num)
;

この例では、Teradata SQLのINSERT文の中に、テーブル名と共にデフォルトのデータベースWorkforceが指定されています。 この場合は、REPEATコマンドは1つしか必要ではありません。

例3 – SESSIONS

5つのTeradata Databaseセッションを選択する場合は、以下の構文を入力します。

.SET SESSIONS 5
.LOGON SIA1/KLD

BTEQの応答

ログオンの検証後、次のように表示されます。

*** Logon successfully completed.
*** 5 sessions logged on.
*** Total elapsed time was 7 seconds.

例4 – SESSIONS

REPEATコマンドを使用して、すべてのセッションにセッション固有の属性を定義します。

.SET SESSIONS 4
.LOGON SIA1/KLD
.REPEAT 4
SET SESSION CHARACTER SET UNICODE PASS THROUGH ON;

この場合、各セッションに対してデータベースのUPT機能がオンになります。