Oracle连接字符串报错误ORA-01722:无效数字的解决方法

2014-11-24 18:31:13 · 作者: · 浏览: 1

p_cursor out pkg_test.myrctype)


return number is


Result number;


begin


open p_cursor for


SELECT * FROM Accounts_Users where TrueName like '%'+key+'%' order by UserID;


Result := 0;


return(Result);


end;


编译成功,测试的时候也没有发现错误,但是到了真正的生产环境的时候,


报错误 ORA-01722: 无效数字 很莫名


后来查阅网络


发现ORACLE 的字符串连接必须用||符号的,然后修改测试 如下


create or replace function f_GetUsers(varkey in varchar2,


p_cursor out pkg_test.myrctype)


return number is


Result number;


begin


open p_cursor for


SELECT * FROM Accounts_Users where TrueName like '%'||varkey||'%' order by UserID;


Result := 0;


return(Result);


end;编译通过


测试数据,也没有问题。