Oracle没有返回值的函数,函数执行无法返回值,请帮忙看看的

SQL code--经测,没问题

SQL> create table T_PJ_GDL(XZQ_DM varchar2(20),NF int,YF int,GDL float);

表已创建。

SQL> insert into T_PJ_GDL values('4401',2012,9,0.7);

已创建 1 行。

SQL> CREATE OR REPLACE FUNCTION F_PJ_GDL_SCORE(mXZQDM VARCHAR2,

2 mNF INT, mYF INT, mFZ FLOAT)

3 RETURN FLOAT IS

4 VSCORE FLOAT;

5 BEGIN

6 SELECT

7 (CASE WHEN GDL>=0.75 THEN mFZ

8 WHEN GDL<0.75 AND GDL>=0.70 THEN (mFZ - 1*1.5)

9 WHEN GDL<0.70 AND GDL>=0.65 THEN (mFZ - 2*1.5)

10 WHEN GDL<0.65 AND GDL>=0.60 THEN (mFZ - 3*1.5)

11 WHEN GDL<0.60 AND GDL>=0.55 THEN (mFZ - 4*1.5)

12 WHEN GDL<0.55 AND GDL>=0.55 THEN (mFZ - 5*1.5)

13 WHEN GDL<0.50 AND GDL>=0.55 THEN (mFZ - 6*1.5)

14 WHEN GDL<0.45 AND GDL>=0.55 THEN (mFZ - 7*1.5)

15 WHEN GDL<0.40 AND GDL>=0.55 THEN (mFZ - 8*1.5)

16 WHEN GDL<0.35 AND GDL>=0.30 THEN (mFZ - 9*1.5)

17 ELSE 0

18 END ) as FS INTO vSCORE FROM T_PJ_GDL

19 WHERE XZQ_DM=mXZQDM AND NF=mNF AND YF=mYF;

20 RETURN vSCORE;

21 END;

22 /

函数已创建。

SQL> select F_PJ_GDL_SCORE('4401',2012,9,15) from dual;

F_PJ_GDL_SCORE('4401',2012,9,15)

--------------------------------

13.5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值