函数返回一个rowtype,如何将这个rowtype显示出来?
函数返回一个rowtype,如何将这个rowtype显示出来?
我在某个包中定义了一个函数
function f_get_empname return emp%rowtype is
v_name emp%rowtype;
cursor c1 is
select * from emp ;
;
begin
open c1;
loop
fetch c1 into v_name ;
exit when c1%notfound;
end loop;
return v_name;
exception when others then
if c1%isopen then
close c1;
end if;
dbms_output.put_line('函数异常');
end;
实际的函数比上面复杂得多,这个只是用来表达清楚我的大概意思,
想在调用这个函数f_get_empname,就会返回一个rowtype,
试过这样调用:
declare
v_name emp%rowtype;
begin
--把所有字段都这样赋值
v_name.empno:= f_get_empname.empno ;
v_name.empname:= f_get_empname.empname;
............
dbms_output.put_line('v_name.empname'||v_name.empname);
end;
pl/sql也没报错,但也没有打印出empname
如何把这个函数的返回值显示出来?????
我在某个包中定义了一个函数
function f_get_empname return emp%rowtype is
v_name emp%rowtype;
cursor c1 is
select * from emp ;
;
begin
open c1;
loop
fetch c1 into v_name ;
exit when c1%notfound;
end loop;
return v_name;
exception when others then
if c1%isopen then
close c1;
end if;
dbms_output.put_line('函数异常');
end;
实际的函数比上面复杂得多,这个只是用来表达清楚我的大概意思,
想在调用这个函数f_get_empname,就会返回一个rowtype,
试过这样调用:
declare
v_name emp%rowtype;
begin
--把所有字段都这样赋值
v_name.empno:= f_get_empname.empno ;
v_name.empname:= f_get_empname.empname;
............
dbms_output.put_line('v_name.empname'||v_name.empname);
end;
pl/sql也没报错,但也没有打印出empname
如何把这个函数的返回值显示出来?????
...全文
相关推荐
asp.net GridView的删除对话框的两种方法
本来这两种方法,我已经掌握。但是没有总结,今天朋友突然问题,我竟然想不起来,找了半天,现在亡羊补牢,赶快写在博客里。
自己常用但是很杂的代码.doc
自己常用但是很杂的C#代码,包括加密算法、数据类型转换、gridview的使用等。
oracle 在一个存储过程中调用另一个返回游标的存储过程
第一种情况是返回的游标是某个具体的表或视图的数据,如: SQL-Code: 代码如下: CREATE OR REPLACE PROCEDURE P_TESTA ( PRESULT OUT SYS_REFCURSOR ) AS BEGIN OPEN PRESULT FOR SELECT * FROM USERS; END P_TESTA; 其中USERS就是数据库中一个表。在调用的时候只要声明一个该表的ROWTYPE类型就可以了: SQL-Code: 代码如下: CREATE OR REPLACE PROCEDURE P_TESTB AS VARCURSOR SYS_REFCURSOR;
动态显示男女性别的两种方法
动态显示男女性别的两种方法,对于初学者不错的知识点呦
ORACLE学习资料第五章.doc
ORACLE学习资料第五章.doc


