POSITION - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
ft:locale
ja-JP
ft:lastEdition
2021-09-23
dita:mapPath
ja-JP/vqj1592443206677.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1148
Product Category
Software
Teradata Vantage

カーソルを次の文の最初、または指定された文の結果に置きます。

ANSI準拠

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

必要な権限

なし。

呼び出し

実行可能形式。

埋め込みSQLのみ。

構文

POSITION cursor_name
  [ TO
    { NEXT |
      [STATEMENT] { statement_number | [:] numeric_variable }
    }
  ]

構文要素

cursor_name
挿入カーソル以外の、開いているカーソルの名前。
statement_number
配置先として希望する文の番号を表わす整数。
numeric_variable
配置先として希望する文番号を表わす、タイプINTEGERに適合するホスト変数。コロン文字の使用は任意指定です。

使用上の注意

カーソルは、指定された文の最初の結果行(もしあれば)の前に再配置され、SQLSTATE、SQLCODE、および他のSQLCA値が設定されます。

POSITION TO NEXTを指定した場合、カーソルは次の文に置かれます。

POSITION TO STATEMENTを指定した場合、カーソルは指定した文に置かれます。

指定した文番号が存在しない場合(例えば、TO STATEMENT 3とコーディングしたのに、カーソルによって制御される文が2つだけの場合)、以下の実行時間例外が発生し、カーソルの位置は未定義のままとなります。
  • SQLCODEは-501に設定される
  • SQLSTATEは‘24501’に設定される

カーソルはカーソル文の前方向にも後方向にも置くことができ、アプリケーションが要求する限り何回でも特定の文に再配置できます。

複数のコンパイル ユニットを持つCOBOLプログラムでは、カーソルの宣言およびカーソルを開くのと同じコンパイル ユニットにREWINDまたはPOSITION TO STATEMENTが現れる場合、カーソルは後方向に置くことしかできません。

POSITIONは挿入カーソルを除くあらゆるカーソルで有効です。

カーソルによって検出された文は再実行され、スプール ファイル内でのカーソル位置が調整されます。

POSITIONを動的SQL文として実行することはできません。

関連情報