关于Oracle执行存储过程报错的问题 20
执行存储过程报错ORA-06512:at"ZPBGL.TRACK_CG_RESULT_PROCEDURE_0210",line214ORA-06512:atline2下面...
执行存储过程报错
ORA-06512: at"ZPBGL.TRACK_CG_RESULT_PROCEDURE_0210", line 214
ORA-06512: at line 2
下面是214行的SQL语句
select v.procinstid_ into rt_pkid from jbpm4_hist_var v where v.varname_='pkId' and v.value_=(''||requi_id) and v.procinstid_ like 'returnRequirements%';
v.procinstid是jbpm4_hist_var里的字段,数据类型为VARCHAR2(255 CHAR)
rt_pkid是在存储过程中定义的变量,数据类型为varchar2(50)
执行存储过程时在我本地没有问题,可是在正式环境中却报错,一直搞不清楚是什么原因,我把rt_pkid改为和v.procinstid一样的数据类型也没有用,还是报同样的错,在网上查了下,也没查到什么原因,想问下ORACLE高手们这是什么错误,要怎么改啊? 展开
ORA-06512: at"ZPBGL.TRACK_CG_RESULT_PROCEDURE_0210", line 214
ORA-06512: at line 2
下面是214行的SQL语句
select v.procinstid_ into rt_pkid from jbpm4_hist_var v where v.varname_='pkId' and v.value_=(''||requi_id) and v.procinstid_ like 'returnRequirements%';
v.procinstid是jbpm4_hist_var里的字段,数据类型为VARCHAR2(255 CHAR)
rt_pkid是在存储过程中定义的变量,数据类型为varchar2(50)
执行存储过程时在我本地没有问题,可是在正式环境中却报错,一直搞不清楚是什么原因,我把rt_pkid改为和v.procinstid一样的数据类型也没有用,还是报同样的错,在网上查了下,也没查到什么原因,想问下ORACLE高手们这是什么错误,要怎么改啊? 展开
展开全部
应该是你生产的数据太长了,查出你的变量定义范围了,你可以设置的大点,存过里面varchar2最大可以设置4000.
追问
应该不会啊,我原表里面的字段就是VARCHAR2(255 CHAR)
类型的,但是把数据插入到表中没有问题。。。
追答
VARCHAR2(255 CHAR),最大255个字符,不是字节。
varchar2(50),最大是50字节
比较一下,你觉得存过能不报错?你可以试试把存过变量调大点。
‘但是把数据插入到表中没有问题。。。’----------不是你的DDL语句报错,是存过运行错误。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把全部错误信息念出来,你给的两行只是说那行有问题,并没有说什么问题。
追问
错误信息我不是说出来了么?就是上面的啊。。它报错的时候弹出了一个窗口就是这个啊。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是不是你在正式环境中该sql语句返回多行记录
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询