SET - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLストアド プロシージャおよび埋め込みSQL

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/xqq1557098602407.ditamap
dita:ditavalPath
ja-JP/xqq1557098602407.ditaval
dita:id
B035-1148
Product Category
Software
Teradata Vantage

目的

ストアド プロシージャ内のローカル変数またはパラメータに値を割り当てます。

呼び出し

実行可能形式。

ストアド プロシージャのみ。

構文

SET assignment_target = assignment_source ;

説明:

assignment_target
値を割り当てられる変数またはパラメータの名前。
assignment_source
assignment_sourceに割り当てられる値。

ANSI準拠

SETは、ANSI/ISO SQL:2011に準拠しています。

許可

なし。

ルール

  • 副クエリーを備えたものを除くすべての有効な式を、SET文割り当てソース内で使用することができます。
  • 割り当てのターゲットとソースの両方を指定する必要があります。
  • 割り当てのターゲットは、常にSET式の左側(LHS)に置きます。
  • 割り当てのソースは、常にSET式の右側(RHS)に置きます。
  • 割り当てのソースのデータ型は、割り当てのターゲットに指定されているデータ型と互換性がなければなりません。Teradata Databaseは、ソースのデータ型とターゲットのデータ型が異なる場合、DateTimeデータ型については暗黙的な変換を実行します。詳細は、<Teradata Vantage™ - データ タイプおよびリテラル、B035-1143>の「データ型の変換」を参照してください。
SET割り当ての構成要素 有効な構成 無効な構成
割り当てターゲット
  • ローカル変数名
  • OUTまたはINOUTパラメータ名
  • QUERY_BAND変数名
  • ステータス変数
  • FORループ列名とFORループ相関名
  • INパラメータ
割り当てソース 以下のいずれかが入った文字列または式
  • ローカル変数
  • INまたはINOUTパラメータ
  • SET文がFOR文の有効範囲内にある場合のFORループ列名および相関名
  • Constant Expression(定数式)
  • ステータス変数
  • UDTに評価する式
  • OUTパラメータ
  • SET文がFOR文の有効範囲内にない場合のFORループ列名および相関名

例: SET文を使用した値の割り当て

以下に示すのは、SET文を使用して変数およびパラメータに値を割り当てる正しい例です。

SET hNoAccts = hNoAccts + 1;
SET hErrorText = 'SQLSTATE: '||sqlstate|| 
', SQLCODE: '||sqlcode||', ACTIVITY_COUNT: '
 ||activity_count;