我想基于同一脚本中使用的几个pl-sql变量动态生成游标查询。考虑一个例子
1. DECLARE
2. emp_id number(12);
3. CURSOR empList_cur is select emp_id from employee;
4.
5. BEGIN
6. LOOP
7. FETCH empList_cur Into emp_id ;
8. EXIT WHEN customerList_cur%NOTFOUND;
9. CURSOR activityList_cur is (select empDetails from empDet where empNo=:emp_id)
10. END LOOP;
11. END;
我想使用从一个游标检索到的emp_id的值到其他sql查询中,如上面代码片段中的第9行所示。
如果正确的语法相同怎么办?
提前致谢
答案 0 :(得分:0)
您的查询只是动态接受值,而不是动态SQL本身。
DECLARE
l_emp_id number(12); /* Don't use the column name itself as variable name */
CURSOR empList_cur is select emp_id from employee;
BEGIN
LOOP
FETCH empList_cur Into l_emp_id ;
EXIT WHEN customerList_cur%NOTFOUND;
FOR I IN (select empDetails from empDet where empNo=l_emp_id)
LOOP
/* you can simply use the variable here ,
and using a Cursor here is not efficient */
-- Other statements
END LOOP;
END LOOP;
END;