複数セッションでのREPEATの使用 - Basic Teradata Query

Basic Teradata® Queryリファレンス

Product
Basic Teradata Query
Release Number
17.10
Published
2022年2月
Language
日本語
Last Update
2022-02-11
dita:mapPath
ja-JP/nnw1608578382132.ditamap
dita:ditavalPath
ja-JP/obe1474387269547.ditaval
dita:id
B035-2414
Product Category
Teradata Tools and Utilities

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