【发布时间】:2013-08-03 03:11:51
【问题描述】:
我在一个包中有 2 个程序。我正在调用一个程序来获取以逗号分隔的用户 ID 列表。
我将结果存储在 VARCHAR 变量中。现在,当我使用这个逗号分隔的列表放入 IN 子句时,它会抛出“ORA-01722:INVALID NUMBER" 异常。
这就是我的变量的样子
l_userIds VARCHAR2(4000) := null;
这是我分配值的地方
l_userIds := getUserIds(deptId); -- this returns a comma separated list
我的第二个查询就像 -
select * from users_Table where user_id in (l_userIds);
如果我运行此查询,我会收到 INVALID NUMBER 错误。
有人可以帮忙吗。
【问题讨论】:
-
查询不完整,select本身不是plsql(需要将结果集存入变量)请显示完整查询
-
试试这个 select * from users_Table where user_id in (select l_userIds);
标签: sql oracle plsql procedure