在Oracle中的过程中选择语句
发布时间:2020-12-12 15:12:40 所属栏目:百科 来源:网络整理
导读:抱歉问这个问题,但这是因为以前给出的答案都不足以让我明白.我想编写一个返回表中所有列的存储过程.作为一个广告hod查询,我只是写 SELECT * FROM EMPLOYEES 但是在这里,我得到一个错误,提示我提供INTO子句,我不明白为什么和如何.有人会解释我将如何在上述情
抱歉问这个问题,但这是因为以前给出的答案都不足以让我明白.我想编写一个返回表中所有列的存储过程.作为一个广告hod查询,我只是写
SELECT * FROM EMPLOYEES 但是在这里,我得到一个错误,提示我提供INTO子句,我不明白为什么和如何.有人会解释我将如何在上述情况下以及当我要返回一个列值(多行时) ). 具有SQL Server背景的人员用于编写返回整个查询结果的存储过程,因此尝试编写如下所示的PL / SQL过程:procedure get_emps is begin -- this will NOT work! select * from emp; end; 不幸的是,这不是那么简单.可能在PL / SQL中最近的等价物是返回参考游标的函数: function get_emps return sys_refcursor is rc sys_refcursor; begin open rc for select * from emp; return rc; end; 你可以从这样的调用程序中调用它: declare cur sys_refcursor; emp_rec emp%rowtype; begin cur := get_emps; loop fetch cur into emp_rec; exit when cur%notfound; end loop; close cur; end; 或者在SQL Plus中你可以做: var rc refcursor :rc := get_emps; print rc (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |