如何給存儲(chǔ)過(guò)程傳參數(shù) oracle中調(diào)用帶數(shù)據(jù)出參數(shù)的存儲(chǔ)過(guò)程?
oracle中調(diào)用帶數(shù)據(jù)出參數(shù)的存儲(chǔ)過(guò)程?-創(chuàng)建存儲(chǔ)過(guò)程Set服務(wù)器輸出一旦創(chuàng)建或替換過(guò)程Select _ Dept (num _ deptno in number,-定義in mode變量,輸入部門
oracle中調(diào)用帶數(shù)據(jù)出參數(shù)的存儲(chǔ)過(guò)程?
-創(chuàng)建存儲(chǔ)過(guò)程Set服務(wù)器輸出一旦創(chuàng)建或替換過(guò)程Select _ Dept (num _ deptno in number,-定義in mode變量,輸入部門號(hào)var _ dname out dept. dname% type,-定義out mode變量,可以存儲(chǔ)部門名并輸出var _ locoutdept。loc% type) isbginselect dname,locintovar _ dname,Var _ Loc from Dept where Deptnonum _ Deptno-檢索部門編號(hào)異常時(shí)的部門信息No _ Data _ found then-如果select語(yǔ)句沒(méi)有返回記錄dbms_output.put_line(#39部門編號(hào)不存在#39)
-輸出信息End Select _ Dept/-調(diào)用存儲(chǔ)過(guò)程-注意:調(diào)用帶輸出參數(shù)的存儲(chǔ)過(guò)程時(shí),需要在declarevar _ dnamedept上聲明變量集serveroutput。dname% typevar _ locdept。loc % typebeginselectdept(10,var _ dname,var _ loc)與out參數(shù)的類型兼容。
DBMS _ output . put _ line(var _ dname | | # 39位于:#39||var_loc)。
結(jié)束/
sqlserver數(shù)據(jù)庫(kù),中寫存儲(chǔ)過(guò)程有什么好處?
存儲(chǔ)過(guò)程是完成特定功能的一組SQL語(yǔ)句,它們被編譯并存儲(chǔ)在數(shù)據(jù)庫(kù)中。用戶通過(guò)指定存儲(chǔ)過(guò)程的名稱并給出參數(shù)(如果存儲(chǔ)過(guò)程有參數(shù))來(lái)執(zhí)行存儲(chǔ)過(guò)程。存儲(chǔ)過(guò)程是數(shù)據(jù)庫(kù)中的一個(gè)重要對(duì)象,任何設(shè)計(jì)良好的數(shù)據(jù)庫(kù)應(yīng)用程序都應(yīng)該使用它。
簡(jiǎn)單來(lái)說(shuō),存儲(chǔ)過(guò)程可以同時(shí)執(zhí)行多個(gè)sql語(yǔ)句,而且存儲(chǔ)過(guò)程比普通sql語(yǔ)句要快,參數(shù)可以傳入傳出。
存儲(chǔ)過(guò)程的一個(gè)示例:
創(chuàng)建過(guò)程用戶信息
@TitleName nvarchar(50),//字符串參數(shù)
@Content nvarchar(Max),
@PostTime datetime(8),
@用戶名nvarchar(50),
@TitleID int輸出
As//sql語(yǔ)句集
偏差are @newid int
插入標(biāo)題(標(biāo)題名,用戶名,發(fā)布時(shí)間)值(@標(biāo)題名,@用戶名,@發(fā)布時(shí)間)
從標(biāo)題中選擇@newidmax(id)
插入到TieZiDetail(標(biāo)題ID,用戶名,發(fā)布時(shí)間,內(nèi)容)值(@新id,@用戶名,@發(fā)布時(shí)間,@內(nèi)容)
選擇@