オペレータ定義でオペレータ属性を宣言する場合、オペレータ定義を含むジョブ スクリプトを実行するまでその値の割り当てを遅延させることもできます。 遅延を行なうためには、属性値をジョブ変数として指定します。 以下のオペレータ属性リストの3つの属性は、すべて実行時にジョブ変数を介して割り当てられます。
ATTRIBUTES ( VARCHAR UserName = @UsrID, VARCHAR UserPassword = @Pwd, VARCHAR Tdpid = @Tdpid );
ジョブ変数の参照は@ symbolという形式になり、後に1つの変数の一意識別子が続きます。 属性名などの識別子を使用できます。
ジョブ スクリプトが実行されると、最初に、スクリプト テキスト内にあるすべてのジョブ変数が各ジョブ変数の文字列値によって置き換えられます。後はスクリプトがコンパイルされるだけです。
APPLY文で属性値としてのジョブ変数を参照することもできます。
属性値の処理順序
オブジェクト属性値はジョブ スクリプト内の複数の場所で割り当てることができます。
以下のリストでは、属性値が割り当てられる場所を処理される順に示しています。 最後に処理される値がジョブで使用されます。
- DEFINE OPERATOR
- APPLY TO...SELECT FROM文の一部として