2010年8月31日

[mysql 15387] カラムの照合順序設定で質問です

いつも勉強させてもらってます。
ストアドファンクションで質問があります。
下記のget_test_valは、testtblのカラムcol2の照合順序がutf8_unicode_ciは問
題なく実行されます。col2の照合順序がutf8_general_ciは例外に入ります。
WHERE col2=i_param_key;のような箇所には、文字コードによって何か工夫が必
要でしょうか?
MySQLは5.0.27です。

# create table testtbl (col1 int,col2 text,col3 text,primary key(col1));
# insert into testtbl values(1,'test1-col2の値','test1-col3の値');
# insert into testtbl values(2,'test2-col2の値','test2-col3の値');
# insert into testtbl values(3,'test3-col2の値','test3-col3の値');

#===================================================================
#
#===================================================================
DROP FUNCTION IF EXISTS get_test_val;

DELIMITER |
CREATE FUNCTION get_test_val(
i_param_key VARCHAR(510)
) RETURNS text
BEGIN

# 宣言
DECLARE ret_Text text;

# 例外ハンドラ
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN #例外ハンドラ
#ROLLBACK;
RETURN '例外!';
END; # 例外ハンドラ

# SQL
SELECT col3 INTO ret_Text FROM testtbl WHERE col2=i_param_key;
# RETURN
RETURN ret_Text;
END;

-------------------------------------------------
伊藤崇洋
ito.takahiro.cp@xxxxx
-------------------------------------------------

投稿者 xml-rpc : 2010年8月31日 17:42
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/98070
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。