我是Oracle新手,使用存储过程插入240个字符时遇到问题。以下是存储过程:
procedure add_user_note(p_user_seq in varchar2,
p_author in varchar2,
p_note_text in varchar2,
o_return_code out integer) IS
BEGIN
o_return_code := RC_SUCCESS;
INSERT INTO user_notes
(sss_user_object_id, note_date, note_text, note_author)
VALUES
(p_user_seq, SysDate, p_note_text, p_author);
commit;
exception
when others then
o_return_code := SQLCODE;
END;
使用此程序我可以插入238个字符,但我的要求是在参数 p_note_text 中插入240个字符。任何帮助表示赞赏。
答案 0 :(得分:0)
您的代码不会限制p_note_text中的字符数。您的代码最多可以处理32767个字节,即PLSQL max varchar2长度。
您可以插入的字符数可能受user_notes.note_text的列定义限制。
请参阅此处讨论有关列定义中BYTE和CHAR的区别。
答案 1 :(得分:0)
你应该玩length()和lengthB()函数
长度 - 用于字数统计 LengthB - 以字节为单位的大小