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 這個是當初開發的乙...