我在包中有2個過程。我正在調用一個過程來獲取逗號分隔的用戶標識列表。在NUMBER列的IN子句中使用逗號分隔值
我將結果存儲在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
錯誤。
有人可以幫助這裏。
查詢是不完整的,選擇本身是不是plsql(您需要將結果集存儲到變量中)請顯示完整查詢 – Sebas
試試這個select * from users_Table其中user_id in(select l_userIds); – maSTAShuFu