創建存儲過程輸入部門編號
㈠ 浠ュ憳宸ョ紪鍙蜂負鍙傛暟錛岃繑鍥炲叾宸ヨ祫鐨勫鉤鍧囧箋
浠ュ憳宸ュ彿涓哄弬鏁幫紝榪斿洖璇ュ憳宸ユ墍鍦ㄩ儴闂ㄧ殑騫沖潎宸ヨ祫
create or replace function fun_sal(p_empno emp.empno%type)
return emp.sal%type
as v_sal emp.sal%type;
begin
select avg(sal) into v_sal from emp where deptno=
(select deptno from emp where empno=p_empno);
return v_sal;
end
begin
dbms_output.put_line (fun_sal (7844));
end;
鎵╁睍璧勬枡
渚1錛氬壋寤轟竴涓瀛樺偍榪囩▼錛屼互鍛樺伐鍙蜂負鍙傛暟錛岃緭鍑鴻ュ憳宸ョ殑宸ヨ祫銆
create or replace procere showsal(p_empno emp.empno%type) as v_sal emp.sal%type; begin
select sal into v_sal from emp where empno=p_empno; dbms_output.put_line(v_sal); end; begin showsal(7844); end;
渚2錛氬壋寤轟竴涓鍑芥暟錛屼互閮ㄩ棬鍙蜂負鍙傛暟錛岃繑鍥炶ラ儴闂ㄧ殑騫沖潎宸ヨ祫錛
create or replace function fun_avgsal(p_deptno emp.deptno%type) return emp.sal%type as v_sal emp.sal%type; begin
select avg(sal) into v_sal from emp where deptno=p_deptno; return v_sal; end; begin dbms_output.put_line (fun_avgsal(10)); end;
㈡ oracle中怎麼執行帶有輸出參數的存儲過程,在程序中我知道怎麼調用,
1、新建一個存儲過程(Procere)。
建議你的資料庫建立部門表的信息
在你的員工基本信息表裡加一個
alter table 員工基本信息表
add column 部門編號 char(10)
建立部門表
create table 部門表
(
部門編號 char(10),
部門名稱 char(10)
)
create view ccc
as
select max(d.基本工資-c.扣除工資) as 部門最高工資,min(d.基本工資-c.扣除工資) as 部門最低工資,avg(d.基本工資-c.扣除工資) as 部門平均工資,sum(d.基本工資-c.扣除工資) as部門工資總和
from 部門表 as b,員工基本信息表 as a,員工考勤情況表 as c,員工工情況表 as d
where a.員工號=c.員工號 and a.工種號=d.工種號 and a.部門編號=b.部門編號
group by b.部門名稱
具體可以在改改
存儲過程
create proc 過程名 @變數
as
begin
過程體
end