-
存儲過程和存儲函數(shù)
數(shù)據(jù)集庫中的對象; 表。序列,視圖。索引、同義詞、存儲過程,存儲函數(shù)等
存儲過程和存儲函數(shù):指存儲在數(shù)據(jù)庫中供所有用戶程序調(diào)用的子程序(plsql書寫的子程序)叫存儲函數(shù)、存儲過程
相同點:完成特定功能的程序
區(qū)別:能否使用return返回值(存儲函數(shù)可以。存儲過程不能夠)
查看全部 -
存儲過程:不能用return語句返回值; 存儲函數(shù):能用return語句返回值;查看全部
-
存儲函數(shù)個存儲過程類似,但必須有一個RETURN子句,用于返回函數(shù)值。創(chuàng)建存儲函數(shù)的語法:查看全部
-
存儲過程不能通過return語句返回值,而存儲函數(shù)可以。查看全部
-
在應(yīng)用程序中訪問存儲函數(shù)
輸出參數(shù) 可以用 ?表示 {?= call queryempIncome(?)}
查看全部 -
輸入?yún)?shù)--賦值
setInt(1,10);
輸出參數(shù)--聲明
registerOutParameter(2,變量的類型)
然后再調(diào)用過程
execute()
取出調(diào)用過程后獲取到所有結(jié)果集
while(rs.next()){
}
根據(jù)需要取出結(jié)果集中的某個字段。
rs.getInt("empno")
查看全部 -
輸入?yún)?shù)--賦值
輸出參數(shù)--聲明
然后再調(diào)用過程
取出調(diào)用過程后獲取到所有結(jié)果集
根據(jù)需要取出結(jié)果集中的某個字段。
查看全部 -
包頭:聲明的所有方法,包括存儲函數(shù)、存儲方法
?CREATE OR REPLACE PACKAGE MYPACKAGE AS? ? ?
type empcursor is ref cursor; ??
?procedure queryEmpList(dno in number,empList out empcursor); END MYPACKAGE;
?
包體(需要實現(xiàn)包頭中聲明的所有方法,包括存儲函數(shù)、存儲方法):
?CREATE OR REPLACE PACKAGE BODY MYPACKAGE AS?
? procedure queryEmpList(dno in number,empList out empcursor) AS ?
?BEGIN ? ??
?open empList for select * from emp where deptno=dno; ?
?END queryEmpList;
END MYPACKAGE;?
? -- 使用desc查看程序包的結(jié)構(gòu)
?desc MYPACKAGE
查看全部 -
?創(chuàng)建一個工具類JDBCUtils;
注冊數(shù)據(jù)庫的驅(qū)動程序
?幫助獲取連接和所需要的資源,資源的釋放
查看全部 -
--out參數(shù):查詢某個員工的姓名,月薪,職位 /*?因為有多個返回值,所以使用存儲過程。*/ create?or?replace?procedure?queryempinform(eno?in?number,? ???????????????????????pename?out?varchar2,? ???????????????????????psal?out?int, ????????????????????????pempjob?out?varchar2)as ????????????????????????begin ????????????????????????--得到該員工的姓名,月薪和職位? ????????????????????????select?ename,sal,empjob?into?pename,psal,pempjob?from?emp?where?empno=eno; ????????????????????????end; ????????????????????????/
過程和函數(shù)都可以通過out指定一個或多個輸出參數(shù),
存儲過程和存儲函數(shù)都可以有out參數(shù)
存儲過程和存儲函數(shù)都可以有多個out參數(shù)
存儲過程可以通過out參數(shù)來實現(xiàn)返回值?
原則:如果只有一個返回值,用存儲函數(shù),否則,用存儲過程。
查看全部 -
1) ?函數(shù)的定義 函數(shù)(Function)為一個命名的存儲程序,可帶參數(shù),并返回一個計算值。函數(shù)和過程的結(jié)構(gòu)類似,但必須有return 子句,用于返回函數(shù)值。
2) 存儲函數(shù)必須使用return?
3) 如果一個表達式中含有空值,那么這個表達式就是空值,所以要用到NVL(comm,0)域空函數(shù)
注意:在執(zhí)行語法的過程中,如果有字段的值出現(xiàn)為空,需要用置空函數(shù)把轉(zhuǎn)為0,再計算 nvl(傳入?yún)?shù),0)
create or replace FUNCTION 函數(shù)名字
return 返回值
AS
plsql塊
查看全部 -
帶參數(shù)的存儲過程?
如果存儲過程有參數(shù),
需要指定是輸入?yún)?shù)還是輸出參數(shù) in out
?Desc dbms_output? --查看dbms_output程序包的參數(shù)是輸入?yún)?shù)還是輸出參數(shù)?
引用型變量 psal emp.sal%type? --采用員工表中的sal變量的類型作為psal的類型?
Begin和end中間就是程序段?
1、創(chuàng)建帶參數(shù)的存儲過程(如果是存儲函數(shù)需要指出參數(shù)是輸入還是輸出)
create or replace procedure raisesalary(empNo IN number)
as
--說明部分
psal emp.salary%type;
begin
????select salary into psal from emp where no = empNo;
????updatte emp set salary = salary + 100?where no = empNo;
????dbms_output.put_line("漲前:"+‘||psal||’+“漲后”+‘||(psal+100)’)
end;
/
查看全部 -
一、創(chuàng)建存儲過程、存儲函數(shù)
create 【or replace】 procedure 過程名(參數(shù)列表)
as
????--說明部分
begin
存儲程序
end
/
查看全部 -
指存儲在數(shù)據(jù)庫中供所有用戶程序調(diào)用的子程序叫存儲過程、存儲函數(shù)。
相同點:完成特定功能的程序
區(qū)別:是否用return語句返回值,存儲函數(shù)可以,存儲過程不可以
查看全部 -
創(chuàng)建存儲過程
create or replace procedure sayhelloworld
as?
begin?
dbms_output.put_line('Hello World');
end;
調(diào)用存儲過程
1.exec sayhelloworld();
2.befgin
????????sayhelloworld();
????????sayhelloworld();
????end;
????/
查看全部
舉報