写一个函数,对于emp表要求能够通过员工编号查询到员工的姓名,参数为员工编号。写出创建函数代码和测试代

今天下午即用的,Oracle数据库。
写一个存储过程,根据成绩表,求出每个学生所有功课的总成绩,把得到的总成绩插入到一个总成绩表(学号,总成绩)。写出存储过程创建语句、测试语句。
另:学生表(学号、姓名、性别、出生日期) 成绩表(学号、课程编号、课程名、成绩)可以先把总成绩表建好

函数:
SQL> create or replace function fun_emp(f_empno in emp.empno%type)
2 return char
3 as
4 f_ename emp.ename%type;
5 begin
6 select ename into f_ename from emp where empno=f_empno;
7 return(f_ename);
8 end fun_emp;
9 /

Function created
------------------------------------------------------------------------------------
创建存储过程调用函数:
SQL>
SQL> create or replace procedure pro_emp(var_empno emp.empno%type)
2 as
3 var_ename emp.ename%type;
4 begin
5 var_ename:=fun_emp(var_empno);
6 Dbms_output.put_line('员工编号'||var_empno||'姓名:'||var_ename);
7 Exception
8 when no_data_found then
9 Dbms_output.put_line('对不起!无此员工编号!');
10 end;
11 /

Procedure created
--------------------------------------------------------------------------------------------------
SQL> exec pro_emp('7369');

员工编号7369姓名:SMITH

PL/SQL procedure successfully completed
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-12
insert into 总成绩表
select sum(成绩) grads ,学号 from 成绩表 group by 学号本回答被网友采纳
第2个回答  2010-12-12
着急也没用,你连什么语言,什么数据库都没说,表的结构也没有