oracle语句,创建一个函数,以员工号为参数,返回该员工所在部门的平均工资。

SQL>CREATEORREPLACEfunctionfun_ave(v_empoinemp.empno%TYPE)returnnumberisaveragenumber... SQL>CREATE OR REPLACE function fun_ave(v_empo in emp.empno%TYPE)
return number
is
average number;
begin
select avg(emp.sal) into average from emp where emp.deptno=(select deptno from emp where emp.empno=v_empo);
return avarege;
End;
/
declare
zdl number;
begin
zdl:=fun_ave(7369);
DBMS_OUTPUT.PUT_LINE(zdl);
End;
/
哪个大神解释下这程序,详细的解释例如语法中where是干什么?select干什么?
展开
 我来答
若以下回答无法解决问题,邀请你更新回答
junhua9999
2013-05-11 · 超过29用户采纳过TA的回答
知道答主
回答量:90
采纳率:0%
帮助的人:74.5万
展开全部
where 是查询的条件,select 是需要返回的字段,这上最基本的查询关键字
追问
这解释太笼统了!没有具体!我要的就是select后面的语句是什么意思具体含义?where查询的是什么?还有declare
zdl number;
begin
zdl:=fun_ave(7369);
什么意思啊?因为我们检查的很仔细所以都要给说明白了!我说的像你一样太笼统所以不合格!
追答
where  条件是  在emp表中查找到输入的员工v_empo所在的部门编号deptno;
select 是将上面条件查出来的部门编号的所有薪水sal 取平均值并赋值给average
返回average
zdl number; ---------------声名 zdl 为number型变量
begin
zdl:=fun_ave(7369); -------------将函数调用结果赋值给zdl(函数参数7369)
DBMS_OUTPUT.PUT_LINE(zdl);------------终端输出 zdl的值
End;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式