Sybaseで文字列の後ろが消えるのを防ぐ 〜string_rtruncation〜 〜string_rtruncation〜
Sybaseで文字列の後ろが消えるのを防ぐ
〜string_rtruncation〜
0.改訂履歴
1.はじめに
このドキュメントでは,Sybaseで,charやncharで文字が消えてしまう現象を確認し,消えないようにする方法を説明する.
2.消える文字を検証する
1> create table TRUNC_TEST
2> (
3> AAA char(10)
4> )
5> go
|
- フィールドAAAは,10文字分を格納する.
- 次のようにデータを追加するINSERT文を発行する.
1> insert into TRUNC_TEST (AAA) values("1234567890")
2> insert into TRUNC_TEST (AAA) values("1234567890ABC")
3> go
(1 row affected)
(1 row affected)
1>
|
- 正常終了している.
- 格納されたデータを確認してみる.
1> select * from TRUNC_TEST
2> go
AAA
----------
1234567890
1234567890
(2 rows affected)
1>
|
3.桁数をあふれたらエラーにする設定にする
- setオプションで,string_rtruncationオプション(STRING RightTRUNCATION)をONに設定する.
1> set string_rtruncation on
2> go
1>
|
1> insert into TRUNC_TEST (AAA) values("1234567890ABC")
2> go
Msg 9502, Level 16, State 7:
Line 1:
Data exception - string data right truncated
1>
|