Oracle:在函数中返回多行

克里·威廉姆斯

我正在尝试创建一个将返回多行的函数。

以下是我的功能和类型

create or replace type emp_type
(
first_name varchar2(20)
, last_name varchar2(20)
, depart_name varchar2(20)
)
/
create or replace function get_employee
 (loc in number)
return emp_type
as  
   emp_record emp_type;
begin
    select a.first_name, a.last_name, b.department_name into emp_record.first_name,
emp_record.last_name,emp_record.depart_name 
   from employees a, departments b 
    where a.department_id=b.department_id and location_id=loc;

   return(emp_record);  
end;

我用

select get_employee(5) from dual;

我收到“ exact fetch returns more than requested number of rows”错误。稍后,当我rownum<2在选择查询中使用Reference to uninitialized composite”时。

能否请你帮忙?

提前致谢

贾斯汀洞穴

如果要返回sys_refcursor,则没有理由声明对象类型或尝试返回对象类型。只需返回一个即可sys_refcursor

create or replace function get_employee
  (p_loc in number)
  return sys_refcursor
as  
  l_rc sys_refcursor;
begin
  open l_rc
   for select a.first_name, a.last_name, b.department_name 
         from employees a, 
              departments b 
        where a.department_id=b.department_id 
          and location_id=p_loc;

  return l_rc; 
end;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Oracle Group by NULL中的SQL返回多行

来自分类Dev

在Oracle SQL中返回多行的子查询

来自分类Dev

单个子查询在Oracle中返回多行

来自分类Dev

在函数pl / sql oracle中保存并返回多行

来自分类Dev

在oracle函数中返回查询

来自分类Dev

PostgreSQL函数返回多行

来自分类Dev

从plpgsql函数返回多行

来自分类Dev

PostgreSQL函数返回多行

来自分类Dev

Mysql函数,返回多行

来自分类Dev

Oracle存储过程:返回多行

来自分类Dev

oracle函数中的可空返回类型

来自分类Dev

函数在oracle中不返回任何内容

来自分类Dev

相同的函数在Oracle中返回不同的结果

来自分类Dev

Oracle SQL分组集返回多行

来自分类Dev

单行子查询返回多行SQL Oracle

来自分类Dev

Oracle SQL:CONNECT BY LEVEL 返回多行

来自分类Dev

PostgreSQL函数:将多行返回为JSON

来自分类Dev

如何从PL / pgSQL函数返回多行

来自分类Dev

使用聚合函数时如何返回多行?

来自分类Dev

JavaScript:返回对象的多行箭头函数

来自分类Dev

为什么 min 函数返回多行

来自分类Dev

Oracle PL / SQL函数遍历多行

来自分类Dev

如果我的数据是从函数返回的,如何将多行数据插入到表变量中?

来自分类Dev

Oracle SQL LAG函数在Time中返回错误的计算

来自分类Dev

oracle sql中如何使用SUM()函数返回的值

来自分类Dev

将参数传递给函数时在oracle中返回null?

来自分类Dev

Oracle Listagg函数返回null

来自分类Dev

在我的oracle PL / SLQ函数中返回了Cursor,但并非所有行都被返回。您只能在Oracle pl / sql函数中返回1行吗?

来自分类Dev

在web.py中返回多行