UJP - 技術情報

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

     

Sybaseで文字列の後ろが消えるのを防ぐ 〜string_rtruncation〜 〜string_rtruncation〜

Sybaseで文字列の後ろが消えるのを防ぐ

〜string_rtruncation〜


0.改訂履歴

  • 2002.08.29 新規作成

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>
  • 10文字以上になる部分が,切り離されている.

3.桁数をあふれたらエラーにする設定にする

  • setオプションで,string_rtruncationオプション(STRING RightTRUNCATION)をONに設定する.
1> set string_rtruncation on
2> go
1>
  • 10文字以上になるデータを入れてみる.
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> 
  • エラーがでた.


広告スペース
Google