求助, 將一段PL/SQL改為SQL 語句代替

[复制链接]
查看11 | 回复1 | 2011-11-1 16:20:28 | 显示全部楼层 |阅读模式
本人近日因為碰上個暈頭轉向的公式, 搞得快成傻子了, 所以現有個傻問題, 請各位幫忙看看, 本人想將以下PL/SQL轉成SQL語句, select 欄位即為V_P_EFFECT &v_w_effect , 具體如下:

if v_std_hrs > 0 and v_w_hrs > 0 AND (v_w_hrs-v_exc_hrs) 0 then
v_p_effect := round(v_std_hrs / v_w_hrs,4) ;
IF v_w_hrs-v_exc_hrs = 0 THEN
v_w_effect := 0;
ELSE
v_w_effect := round(v_std_hrs /nvl((v_w_hrs-v_exc_hrs),1),4);
END IF;
else
v_p_effect := 0;
v_w_effect := 0;
end if;
RETURN(V_P_EFFECT);
return(v_w_effect);
回复

使用道具 举报

千问 | 2011-11-1 16:20:28 | 显示全部楼层
其实你本来的pl/sql也比较胡涂,改成下面是一个意思:
ifv_std_hrs > 0 and v_w_hrs > 0 AND (v_w_hrs-v_exc_hrs) 0 then

v_p_effect := round(v_std_hrs / v_w_hrs,4) ;

v_w_effect := round(v_std_hrs /nvl((v_w_hrs-v_exc_hrs),1),4);
else
v_p_effect := 0;
v_w_effect := 0;
end if;
return(v_p_effect );
return(v_w_effect);
sql语句也好写了,如下:
SELECT round(v_std_hrs / v_w_hrs,4) v_p_effect,round(v_std_hrs /nvl((v_w_hrs-v_exc_hrs),1),4)v_w_effect
FROM TABLENAME
WHEREv_std_hrs > 0 and v_w_hrs > 0 AND (v_w_hrs-v_exc_hrs) 0;
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行