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

SQL Anywhere 12.0.1 » 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 を代わりに使用します。


インジケーター変数:NULL の処理
インジケーター変数:トランケートされた値に対する使用
インジケーター変数:変換エラーの処理
インジケーター変数値のまとめ