SQL 解説書

ストリングの割り当て

割り当てには次の 2 つのタイプがあります。

ストリング割り当てに関する規則は、割り当てのタイプによって異なります。

記憶域割り当て

基本的な規則は、 列または関数パラメーターに割り当てられるストリングの長さが、 列または関数パラメーターの長さ属性を超えてはならないということです。 ストリングの長さが列または関数パラメーターの長さ属性を超えた場合は、 以下の処置が取られます。

ストリングが固定長列に割り当てられ、 ストリングの長さが割り当て先の長さ属性より短いときは、 そのストリングの右に必要な数のブランクが埋め込まれます。 埋め込み文字は、FOR BIT DATA 属性で定義されている列の場合も含めて、常にブランクです。

検索割り当て

ホスト変数に割り当てられるストリングの長さは、 ホスト変数の長さ属性より長くてもかまいません。

ストリングがホスト変数に割り当てられるときに、 ストリングの長さが変数の長さ属性より長ければ、 ストリングの右側から文字 (またはバイト) が必要な数だけ切り捨てられます。 この場合には警告 (SQLSTATE 01004) が戻され、 SQLCA の SQLWARN1 フィールドに値 'W' が割り当てられます。

さらに、標識変数があってその値のソースが LOB でない場合は、 その標識変数はストリングの元の長さに設定されます。

文字ストリングが固定長変数に割り当てられる場合に、 ストリングの長さが割り当て先の長さ属性よりも短いなら、 ストリングの右端に必要な数のブランクが埋め込まれます。 埋め込み文字は、FOR BIT DATA 属性で定義されているストリングの場合も含めて、 常にブランクです。

C の NUL 終止符ホスト変数の検索割り当ては、 PREP または BIND コマンドに指定されたオプションに基づいて処理されます。 詳細については、 アプリケーション開発の手引き の C および C++ のプログラミングに関する項を参照してください。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]