希望你能帮助我,我试图在sql查询中使用游标。我99%肯定可以做到这一点,所以请提出任何建议吗?这是我的代码
FUNCTION filter (c_cur_trip_menu IN c_menu_tripulantes)
RETURN c_menu_tripulantes IS
BEGIN
SELECT *
FROM c_cur_trip_menu , opciones_migradas
WHERE mnu.mnu_idemnu = id_opcion;
RETURN c_cur_trip_menu;
END filter;
我想要的是将光标用作表格。 提前谢谢。
答案 0 :(得分:1)
您可以将数据从cursor
复制到temporary table
,但是您无法像表格一样使用游标。如果要在oracle中构建的函数不能使用select
语法来显示数据:
FOR cur in c_cur_trip_menu
LOOP
dbms_output.put_line(cur.col1||' 'cur.col2);
END LOOP;
答案 1 :(得分:0)
您无法从光标中选择(但您可以从任何选择语句创建光标(使用光标(您的查询)))但是表格或流水线功能可以帮助您完成任务。 http://www.oracle-base.com/articles/misc/pipelined-table-functions.php可以帮助你。然而,我从未理解尝试移动函数方法来检索基于sql的数据库中的数据 - 视图解决它完美。 CBO估计函数很弱,因此您可以创建一个位置,使您的查询提前更慢。什么 - 不知道......