SQLコミュニケーション領域(SQLCA) - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/vqj1592443206677.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1148
Product Category
Software
Teradata Vantage

Preprocessor2は、プログラムのステータスとエラー情報を、いくつかの方法でアプリケーションに戻すことができます。

Teradataセッション モードで実行するよう作成されたアプリケーションの主な接続方式は、SQLCA構造でした.SQLCAは、完了したDML文の戻りコードや他の情報のリストを含むデータ構造です。

SQLCAには、埋め込みSQLアプリケーションに対する次のようなサポートが用意されています。
  • 結果の報告
  • 警告条件の報告
  • DSNTIARのサポート

埋め込みSQLアプリケーション プログラムは、埋め込みSQL文を実行した結果を表わす戻りコードのSQLCAフィールドを問合わせます。

埋め込みSQLアプリケーションでは、提供されているルーチン(PPRTEXTを参照)を使用して、完全な診断テキストを取得することもできます。

SQLCAは、ストアド プロシージャと同時に使用することはできません。

ANSI準拠

SQLコミュニケーション領域およびINCLUDE SQLCA文は、ANSI SQLに準拠していません。プリプロセッサTRANSACTまたは-trオプションをANSIにセットすると、エラーとしてINCLUDE SQLCAフラグが付きます。

ANSIモード アプリケーションは、SQLSTATEステータス変数およびSQLCODEステータス変数によって、プログラムのステータスとエラーを報告します(SQLCODE変数とSQLSTATE変数の相互マッピングおよびDatabaseエラー メッセージに対するマッピングの詳細は、SQLSTATEのマッピングを参照してください)。

ANSI/ISO SQL-92規格では、SQLCODEを明示的に推奨していません。ANSI/ISO SQL-99規格では、SQLCODEは定義されなくなりました。ANSIトランザクション モードで実行するストアド プロシージャおよび埋め込みSQLアプリケーションを作成するときには、必ずSQLSTATEを使用する必要があります。Teradataトランザクション モードで実行するストアド プロシージャおよび埋め込みSQLアプリケーションでもSQLSTATEを使用できます。

移植性を最大にするには、アプリケーション ステータスをモニターするときに、SQLCODEではなく、いつもSQLSTATEを使用する必要があります。

ANSI環境でストアド プロシージャまたは埋め込みSQLアプリケーションを開発する場合、SQLCAの代わりにステータス変数SQLSTATEを使用し、それをコードで明示的に定義します。詳細については、SQLSTATESQLCODEおよびSQLSTATEのマッピングを参照してください。