複数セッションでのREPEATの使用 - 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

REPEATコマンドは、複数行や複数セッション、またはその両方で作業する場合に役立ちます。 前の例のTeradata SQL UPDATE文と同じように、Teradata SQL文の中でデフォルトのデータベースを指定できます。 デフォルトのデータベースを定義するもう1つの方法は、Teradata SQLのDATABASE文の前に、セッション数を指定したREPEATコマンドを入力することです。

Workforce(従業員)データベースのEmployee(社員)テーブルを更新する2つの並列セッションを実行するためには、次のように入力します。

.SET sessions 2
.REPEAT 2 
database workforce;
.IMPORT data file=raiseemp 
.REPEAT 2
using enumb (char(5))
update employee set salary=salary*1.07
where empno=:enumb;

最初のREPEATコマンドで、デフォルトのデータベースが2つのセッションに設定されます。 2番目のREPEATコマンドは、すべてのテーブルが更新されるまで2つのセッションを実行させることを示しています。 最初のREPEATコマンドを指定しなかった場合には、最初のセッションでのみデータベースWorkforce(従業員)が使用され、もう1つのセッションにはデータベースは設定されません。

次の例は、REPEATコマンドを使用して、同じクエリー バンドで確実に複数セッションを確立する場合を示しています。 以下の例では、セッション間でのクエリー バンドの組み合わせの伝播は自動的に行なわれません。

.SET SESSIONS 3
.LOGON MyDB/MyID,MyPW;
.REPEAT 3
SET QUERY_BAND= 'MyNAME=12345;' FOR SESSION;