3 Oracle 儲存函式

2021-07-24 22:00:08 字數 1487 閱讀 5674

create or replacefunction 函式名(引數1 in|out 型別,引數2 in|out 型別) retrun 結果型別

as|is

--定義變數

begin

return 變數;--(變數的型別一定是跟 return的結果型別保持一致)

end;

(1)宣告fun_emp_totalsal儲存函式,查詢指定員工的年薪

create or replace function fun_emp_totalsal(eno number) 

return number

aspsal number;

begin

select sal*12+nvl(comm,0) into psal from emp where empno = eno;

return psal;

end;

呼叫:

declare

totalsal number;

begin

totalsal:=fun_emp_totalsal(7788); 

dbms_output.put_line(totalsal);

end;

執行:create or replace

procedure

pro_emp_totalsal(eno 

number

,totalsal 

out number)

as

begin

select sal*12+nvl(comm,0) into totalsal from emp where empno = eno;

end;

呼叫和執行和上面的儲存函式一樣。

(3)宣告fun_emp_dname儲存函式,根據部門編號查詢出部門名稱

createorreplacefunctionfun_emp_dname(dno number) returndept.dname%type

as

pname dept.dname%type;

begin

select

dname 

into pname

from dept where deptno = dno;

return pname;

end;

呼叫--查詢編號為10的部門名稱

declare

pname dept.dname%type;

begin

pname := fun_emp_dname(10);

dbms_output.put_line(pname);

end;  

(4)在select語句中呼叫儲存函式

select

empno,ename,

fun_emp_dname(deptno)

from

emp;  

3 oracle使用者管理

oracle使用者的管理 建立使用者 概述 在oracle中要建立乙個新的使用者使用create user語句,一般是具有dba 資料庫管理員 的許可權才能使用。create user 使用者名稱 identified by 密碼 oracle有個毛病,密碼必須以字母開頭,如果以字母開頭,它不會建立...

3 Oracle多表查詢

3.1 執行sql檔案 檔案位址名 執行某個sql檔案 3.2 多表查詢 3.3 外連線select d.deptno,d.dname,count empno from dept d,emp e where d.deptno e.deptno group by d.deptno,d.dname sq...

資料程式設計 3 oracle 多表查詢

單行函式 返回單行結果 1.字元函式 1.1大小寫控制函式 lower upper initcap 將單詞首字母大寫,其他字元小寫 1.2字元控制函式 concat 字元連線 只能有兩個引數 拼接多個是 可以巢狀呼叫 substr str,0,5 下標開始位 既可以是0也可以是1 這個是當初開發的乙...