16.20 - OPEN (埋め込みSQL形式) - Teradata Vantage NewSQL Engine

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

prodname
Teradata Database
Teradata Vantage NewSQL Engine
vrm_release
16.20
category
プログラミング リファレンス
featnum
B035-1148-162K-JPN

目的

埋め込みSQLアプリケーションに対して宣言されたカーソルを開き、その宣言で指定されているSQL文を実行します。

呼び出し

実行可能形式。

埋め込みSQLのみ。

構文



cursor_name
開くカーソルの名前を指定します。
host_variable_name
カーソル リクエストの入力データとして使用する変数。
名前の前にコロン文字を付けるかどうかはオプションです。
host_indicator_variable
標識変数。
名前の前のコロン文字は必須です。
descriptor_area
SQLDA。
SQLDA構造がポインタとして宣言されている場合、descriptor_areaを名前またはポインタ参照(*sqldaname)としてCプログラムに指定できます。

ANSI準拠

ANSI/ISO SQL:2011準拠。

許可

なし。

一般ルール

  • SQLDAを定義する必要があります。
  • cursor_nameで特定されるカーソルは、事前に宣言しておく必要があります。
  • cursor_nameで識別されるカーソルが閉じていなければなりません。
  • いったんカーソルが開くと、システムは関連する静的または動的SQL文を実行します。その後で、システムは結果のスプール ファイルを作成し、カーソルがスプール ファイルの最初の行の前に置かれます。
  • 失敗(暗黙的なロールバック)が生じない限り、OPEN処理はSQLCAのSQLCODEフィールドで0を返し、SQLSTATEで‘00000’を返します。SQLCODEが0の場合、システムはSQLCA構造の3番目のSQLERRD要素にアクティビティ カウントを設定します。
  • カーソルが更新可能な場合、またはCまたはCOBOLアプリケーション プログラム内にカーソルのREWINDまたはPOSITION TO STATEMENTリクエストが含まれている場合は、OPEN文にKEEPRESPを指定して実行します。それ以外の場合は、NOKEEPRESPを指定して実行します。PL/Iアプリケーションの場合、KEEPRESPがデフォルトです。
  • OPENを動的SQL文として実行することはできません。
  • 一度に16を超えるカーソルを開くことはできません。カーソルが関係しない文の処理は、さらに多くのカーソルが開くとそれだけ悪い影響を受けるからです。

    アプリケーションが、開いている16個のカーソルを持っている場合、1つ以上のカーソルを閉じないと、リクエストをそれ以上発行することはできません。

USING句のルール

  • USING句はcursor_nameによってSQL文への入力として使用される変数を識別します。
  • OPEN文の前に宣言したhost_variable_nameを有効なクライアント言語の変数にしないと、入力変数として使用できません。

    クライアント構造を入力変数の識別に使用できます。

    指定する変数の数は、識別される文におけるパラメータ マーカー(疑問符、?)の数と同じでなければなりません。

    n番目の変数は、n番目のマーカーに対応しています。

    host_variable_nameの接頭辞のコロン文字は、オプションです。

  • descriptor_areaは、アプリケーションによって事前に定義された入力SQLDA構造を識別します。この構造には、入力変数セットに関する必要な情報が入っています。

    SQLDAのSQLDフィールドで指定される変数の数は、識別される文のパラメータ マーカー(疑問符、?)と同じでなければなりません。

    SQLDSによって記述されるn番目の変数はn番目のマーカーに対応します。

関連トピック

以下に関する詳細な情報
  • ALLOCATE文で参照されるカーソルについては、ALLOCATEを参照してください。
  • キャストの作成とAS ASSIGNMENTオプションの使用の詳細について、<Teradata Vantage™ SQLデータ定義言語の構文規則および例、B035-1144>を参照してください。
  • descriptor_areaについては、<Teradata® Preprocessor2埋め込みSQLプログラマ ガイド、B035-2446>を参照してください。
  • OPEN(埋め込みSQL形式)については、CLOSEを参照してください。