【发布时间】:2018-07-30 18:37:40
【问题描述】:
select count(*)
INTO countExceed
from uid_emp_master k
where k.unique_id in (select k.reviewer_uid
from uid_rm_hierarchy k
where k.unique_id in ('||p_ID_list||'))
and k.band IN( 'A','B','C','D');
if (countExceed > 0) then
quer :='UPDATE UID_RM_HIERARCHY I
SET I.REVIEWER_UID in (SELECT L.REVIEWER_UID
FROM UID_RM_HIERARCHY L
WHERE L.UNIQUE_ID in ('||p_ID_list||') )
WHERE I.REVIEWER_UID in('||p_ID_list||')
and isdeleted=0';
EXECUTE IMMEDIATE quer ;
END IF;
上面的存储过程没有显示任何结果变量countExceed声明为数字请帮助我更正查询。
【问题讨论】:
-
您还需要为
select语句运行 EXECUTE IMMEDIATE。我猜 p_id_list 是一个包含此列表的变量,您还需要为此创建一个动态 sql。 -
你能发一个 p_ID_list 的例子吗?另外,你是如何运行这个的?这是在 PL/SQL 块中,还是您完全按照您发布的方式运行它?
-
... 而 p_id_list 就像 ... ?它是逗号分隔列表的列表吗?它是否包含引号,...?
-
逗号分隔列表就像 RAJ118831,08666F
标签: plsql plsqldeveloper