OS - Basic Teradata Query

Basic Teradata Queryリファレンス

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

目的

オペレーティング システム コマンドをワークステーション接続システムに送り、実行させます。

メインフレームBTEQの場合は、BTEQのTSOコマンドを参照してください。

構文



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

os_command
有効なオペレーティング システムコマンドを表わす文字列。

使用上の注意

指定するオペレーティング システム コマンドは、使用されているオペレーティング システムで実行できる有効なコマンドでなければなりません。 複数のオペレーティング システム コマンドを使用するためには、OSコマンドを繰り返すか、別のプログラムに制御を渡すことができるオペレーティング システム コマンドを送ります。 このコマンドは、オペレーティング システムごとに異なります。

BTEQは最後に送信されたシステム コールの戻りコードを格納します。値を参照するには、SYSTEMRETURNCODEステータス キーワードを使用します。OSコマンドを使用して別のBTEQプロセス インスタンスを呼び出すと、その2次プロセスからの戻り値が呼び出しプロセスのSYSTEMRETURNCODE値として返されます。

SYSTEMRETURNCODEキーワードは、BTEQのすべてのフレーバーに対してIFコマンド条件で使用できますが、Windows BTEQを使用する場合はEXITコマンドでのみ有効です。

OSコマンドを使用すると、クローズされたエクスポート ファイルの中身全体を参照することができます。 この場合、見ようとするファイルの最後の数レコードが表示されない場合があります。ただし、ファイルが閉じていても、この表示されないレコードはファイルに転送されます。 これは、最後の数レコードがまだバッファにあり、ディスクに書き込まれていないために起こります。 (エクスポート ファイルのクローズに関する詳細は、EXPORTを参照してください。)

OSコマンドは、Teradata SQLマクロで使用できます。ただし、一度に使用できるコマンドは1つだけです。 (すなわち、OSコマンドを使用して、コマンド プロセッサやシェルに制御を移して実行することはできません。)

このコマンドは、I/OエンコードがUTF8またはUTF16の場合、ワークステーションBTEQではUTF-8エンコードでオペレーティング システムに発行されます。 OSコマンドでのマルチバイト文字の使用はサポートされていないため、予期しない結果になる場合があります。

例1 – ディレクトリ ファイルの表示

いずれかのOSコマンドを使用してディレクトリ内のファイルを表示するには、次のようにします。

  • UNIXシステムの場合は、次のように指定します。

    .OS ls

  • Windowsの場合は、次のように指定します。

    .OS DIR

例2 – UNIX

UNIXシステム コマンドのEXECUTE SHELLを使用してBTEQから退出し、[Control]+[D]でBTEQに戻ります。

例:

.OS exec s
$ pg myfile.one
$ cp oldfile newfile
$ cd draft
$ <cntrl>/<d>

例3 – Windows

Windowsでは、DOSコマンドのCOMMAND(2次コマンド プロセッサ)を使用してBTEQから退出し、EXITコマンドでBTEQに戻ります。

.OS command
C> type b:myfile.one
C> edlin b:myfile.one
C> dir a:
C> exit

例4 – マクロによって出力されるOS

Teradata SQLマクロでは、OSコマンドは次のように使用されます。

ECHO '.OS ls';

例5 – ウィンドウ タイトルの変更

Windows BTEQの複数のインスタンスがアクティブになっている場合は、各ウィンドウを区別できるように、.OSコマンドと共にDOSコマンドのTITLEを使用してコンソール ウィンドウのタイトル テキストをカスタマイズすることが可能です。 次の例では、デフォルトのタイトルをmach1に変更しています。

.OS TITLE mach1

例6 – OSの結果のテスト

次のIF...THEN...コマンドは、OSコマンドを使用して送信されたシステム コールが、0より大きい戻りコード値となったかどうかをテストするために使用できます。

.IF SYSTEMRETURNCODE != 0 THEN .GOTO notzero