Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 » SQL Anywhere サーバ プログラミング » Embedded SQL » Embedded SQL のホスト変数

 

インジケータ変数

インジケータ変数とは、データのやりとりをするときに補足的な情報を保持する C 変数のことです。インジケータ変数の役割は、場合によってまったく異なります。

  • NULL 値   アプリケーションが NULL 値を扱えるようにする。

  • 文字列のトランケーション   フェッチした値がホスト変数におさまるようにトランケートされた場合に、アプリケーションが対応できるようにする。

  • 変換エラー   エラー情報を保持する。

インジケータ変数は a_sql_len 型のホスト変数で、SQL 文では通常のホスト変数の直後に書きます。たとえば、次の INSERT 文では、:ind_phone がインジケータ変数です。

EXEC SQL INSERT INTO Employees
 VALUES (:employee_number, :employee_name,
 :employee_initials, :employee_phone:ind_phone );

フェッチ時または実行時にデータベースサーバからローを受信しなかった場合 (エラーが発生したか、結果セットの末尾に到達した場合)、インジケータの値は変更されません。

注意

32 ビット長および 64 ビット長とインジケータを今後使用できるように、Embedded SQL での short int の使用は推奨されなくなりました。a_sql_len を代わりに使用します。


インジケータ変数:SQL NULL 値
インジケータ変数:トランケートされた値
インジケータ変数:変換エラー
インジケータ変数値のまとめ