高手快进来看看

zhousw 2004-03-25 10:22:44
--为什么会报缓冲区太小错误,该如何解决?
create or replace function service_req_fundinfo
(
op_branch_no integer, /* 操作员营业部号 */
op_entrust_way char /* 委托方式 */
)

return integer
as
--以下为输入参数对应的局部变量
p_op_branch_no integer; /* 操作员营业部号 */
p_op_entrust_way char; /* 委托方式 */

begin
--以下为输入参数对应参数
p_op_branch_no := op_branch_no ;
p_op_entrust_way := op_entrust_way ; --这里为什么报缓冲区太小错误
--初始化参数
p_op_branch_no := nvl(p_op_branch_no , 0);
p_op_entrust_way := nvl(p_op_entrust_way , ' ');
return 0;
end service_req_fundinfo;
...全文
37 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhousw 2004-03-25
  • 打赏
  • 举报
回复
控制精度的意思就是: 对参数的检验. 如一个参数只允许输入一位字符的,如果输入两位字符就非法. 我把参数定义成char(1)就可以保证输入的参数肯定是一位字符的.就可以放心使用.否则就不安全.
ningIII 2004-03-25
  • 打赏
  • 举报
回复
没明白楼主的意思,什么是自己控制精度?

char(200) 是分出200个字符的长度,不够的补空格
varchar2(200) 就是有多少算多少,最大是200

感觉varchar2(200)这个就很好啊,是动态的!
zhousw 2004-03-25
  • 打赏
  • 举报
回复
有没有可以不通过varchar2(200)或char(100)的方法. 因为我想控制精度.
xinpingf 2004-03-25
  • 打赏
  • 举报
回复
用varchar2(200)最好
welyngj 2004-03-25
  • 打赏
  • 举报
回复
p_op_entrust_way char; /* 委托方式 */
char默认为1,用char(200).自己确定范围。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧