写一个函数,对于emp表要求能够通过员工编号查询到员工的姓名,参数为员工编号。写出创建函数代码和测试代
今天下午即用的,Oracle数据库。写一个存储过程,根据成绩表,求出每个学生所有功课的总成绩,把得到的总成绩插入到一个总成绩表(学号,总成绩)。写出存储过程创建语句、测试...
今天下午即用的,Oracle数据库。
写一个存储过程,根据成绩表,求出每个学生所有功课的总成绩,把得到的总成绩插入到一个总成绩表(学号,总成绩)。写出存储过程创建语句、测试语句。
另:学生表(学号、姓名、性别、出生日期) 成绩表(学号、课程编号、课程名、成绩)可以先把总成绩表建好 展开
写一个存储过程,根据成绩表,求出每个学生所有功课的总成绩,把得到的总成绩插入到一个总成绩表(学号,总成绩)。写出存储过程创建语句、测试语句。
另:学生表(学号、姓名、性别、出生日期) 成绩表(学号、课程编号、课程名、成绩)可以先把总成绩表建好 展开
3个回答
展开全部
函数:
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
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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询