如何在过程中的表中插入游标值
Posted
技术标签:
【中文标题】如何在过程中的表中插入游标值【英文标题】:How to insert cursor value in a table withing procedure 【发布时间】:2017-05-03 08:53:16 【问题描述】:我是 oracle 的新手。我想将光标的某些字段放入不同的表中。检查了网上可用的可能选项,但对我没有用。
PROCEDURE get_emp_info (p_nbr_rec IN NUMBER DEFAULT 10,
p_emp_id IN NUMBER DEFAULT NULL,
p_user_id IN VARCHAR2 DEFAULT NULL,
rc_emp_info OUT ref_cursor)
IS
BEGIN
OPEN rc_emp_info FOR
SELECT e.employee_id,
e.user_id,
e.first_name,
e.preferred_name,
e.last_name,
e.manager_name,
FROM employee e
WHERE
(p_user_id is NULL OR e.user_id = LOWER(p_user_id) )
end get_emp_info;
请帮助并提出任何解决方案。 提前致谢。
【问题讨论】:
请说明您的需求。这个过程在表格上打开一个光标,你需要什么来代替?一些示例数据和所需的结果也会很有用。 【参考方案1】: PROCEDURE get_emp_info (p_nbr_rec IN NUMBER DEFAULT 10,
p_emp_id IN NUMBER DEFAULT NULL,
p_user_id IN VARCHAR2 DEFAULT NULL,
rc_emp_info OUT ref_cursor)
IS
BEGIN
-- Not sure why so many inputs when you are not using it
OPEN rc_emp_info FOR
SELECT e.employee_id,
e.user_id,
e.first_name,
e.preferred_name,
e.last_name,
e.manager_name
FROM employee e
WHERE
(p_user_id is NULL OR e.user_id = LOWER(p_user_id));
-- Not sure why are you checking p_user_id is NULL
loop
fetch rc_emp_info into var1,var2,var3,var4,var5,var6;
exit when rc_emp_info%notfound;
-- here you do whatever you want with the variables
end loop;
end get_emp_info;
【讨论】:
以上是关于如何在过程中的表中插入游标值的主要内容,如果未能解决你的问题,请参考以下文章
如何获取ListView的项目onItemClick的游标值?