宣言セクション内にホスト変数を配置して、ホスト変数を定義します。通常の C 変数宣言を BEGIN DECLARE SECTION 文と END DECLARE SECTION 文で囲むことで、ホスト変数を宣言します。
ホスト変数を SQL 文で使用するときは、変数名にコロン (:) をプレフィクスとして付けなければなりません。これは、SQL プリプロセッサーが、(宣言済みの) ホスト変数が参照されていることを認識しており、SQL 文の中で他の識別子とホスト変数を区別するためです。
ホスト変数は、どの SQL 文でも値定数の代わりに使用できます。データベースサーバーがこのコマンドを実行すると、ホスト変数の値がホスト変数から読み込まれたり、逆にホスト変数に書き込まれたりします。ホスト変数をテーブル名やカラム名の代わりに使用することはできません。
SQL プリプロセッサーは、宣言セクションの外では C 言語コードをスキャンしません。変数の初期化は宣言セクション内で行うことも可能ですが、typedef 型と構造体は使用できません。
INSERT コマンドでホスト変数を使用するサンプルコードです。プログラム側で変数に値を設定してから、データベースに挿入しています。
/* Declare fields for personal data. */ EXEC SQL BEGIN DECLARE SECTION; long employee_number = 0; char employee_name[50]; char employee_initials[8]; char employee_phone[15]; EXEC SQL END DECLARE SECTION; /* Fill variables with appropriate values. */ /* Insert a row in the database. */ EXEC SQL INSERT INTO Employee VALUES (:employee_number, :employee_name, :employee_initials, :employee_phone ); |
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |