TECHNOLOGY

FAQ (よくある質問)

対象バージョン : 5.0.x - 9.0.x
対象OS : 全て

QUESTION ( SQ0503058 )

INSERT や UPDATE によってカラムの定義より長い文字列を入力した場合に、その処理がエラーとならず、文字列がカラムの長さにトランケートされてしまう。

ANSWER

Anywhereはデフォルトの動作として、INSERT や UPDATE によって、 CHAR または VARCHAR に定義した最大長より長い文字列を入力すると、例外を発生せず、文字列を定義した最大長でトランケートします。
データベース・オプションの STRING_RTRUNCATION オプション を ON に設定 ( デフォルトは OFF ) することで、文字列がトランケートされる場合に例外を起こすよう動作を変更することができます。 
STRING_RTRUNCATION オプション の詳細につきましては下記のオンラインマニュアルをご参照ください。

ASA データベース管理ガイド
 データベース・オプション 
  アルファベット順のオプション・リスト 
   STRING_RTRUNCATION オプション [互換性]

* 追記 2011/05/26
上記 STRING_RTRUNCATION オプションの仕様は、Ver. 10.0.xから変更され、デフォルトでONとなりました。(つまりカラムの定義をオーバーするとエラーが発生します。)