sql セクションには、クライアントのコマンド文字列を置き換える新規 SQL 文字列を含めることができます。このセクションに SQL 文字列がない場合、このセクションは無視されます。
新規 SQL 文字列は "パラメータ化" できる場合があります。つまり、sql セクションの SQL 文字列にあるパラメータ ('?' 記号で指定) は、クライアントのコマンド文字列内の "識別子" に対応する引数 (かっこに囲まれたカンマ区切りの一覧で指定) で置き換えることができます。識別子と引数の一覧は、関数呼び出しのような動作をします。
たとえば、クライアントのコマンド文字列を "CustomerByID(4)"
、SQL セクション ヘッダーを [SQL CustomerByID]
、新規 SQL セクション文字列を "SELECT * FROM Customers WHERE CustomerID = ?"
とします。ハンドラは "SELECT * FROM Customers WHERE CustomerID = 4"
を生成し、この文字列をデータ ソースのクエリに使用します。
新規 SQL ステートメントが Null 文字列 ("") の場合、このセクションは無視されます。
新規 SQL ステートメント文字列が有効なステートメントでない場合、ステートメントの実行は失敗します。また、クライアント パラメータは無視されます。この性質を次のように指定して意図的に使用し、すべてのクライアント SQL コマンドを "無効" にすることができます。
[SQL default]
SQL = " "
構文
置き換える SQL 文字列エントリの形式は、次のとおりです。
SQL=sqlString
要素 | 説明 |
SQL | これが SQL セクション エントリであることを示すリテラル文字列。 |
sqlString | クライアント文字列を置き換える SQL 文字列。 |