返回结果的请教!

[复制链接]
查看11 | 回复3 | 2007-5-16 15:54:56 | 显示全部楼层 |阅读模式
select c from t4
C

----------

45

445

77

45

78
CREATE OR REPLACEFUNCTION "SCOTT"."ADDT4"return number
as
v number;
cursor cur is select c from t4;
begin
open cur;
loop
fetch cur into v;
exit when cur%notfound;
dbms_output.put_line(v);
end loop;
return v;
close cur;
end addt4;
select addt4 from t4
ADDT4

----------

78

78

78

78

78
我想写一个函数,用自己的算法来处理数据,然后在SELECT中用,但是为什么我选择的数据是最后一条,怎么返回其他的数据,应该怎么写这个函数?用存储过程一样的写法可以取到所有的数据。
回复

使用道具 举报

千问 | 2007-5-16 15:54:56 | 显示全部楼层
那你传入参数进去不就可以了?
回复

使用道具 举报

千问 | 2007-5-16 15:54:56 | 显示全部楼层
lz的意思是想取t4表里面的记录全部或是部分逐条处理是吧
用FUNCTION
[PHP]
CREATE OR REPLACE FUNCTION ADDT4(c in number) return number is
v number;
begin
v := c + 1;
return v;
end addt4;
SQL> select t.c, ADDT4(t.c) ADDT4 from t4 t;
CADDT4
---------- ----------
45 46
455456
78 79
45 46
78 79
SQL>
[/PHP]
至于说你的FUNCTION为什么每次都是最后一条,我想请lz再仔细读一下代码就可以了,看看"return v;"这句前函数都做了些什么以及lz为什么要返回 "v"这个变量。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行