如何給存儲(chǔ)過程傳參數(shù) oracle中調(diào)用帶數(shù)據(jù)出參數(shù)的存儲(chǔ)過程?
oracle中調(diào)用帶數(shù)據(jù)出參數(shù)的存儲(chǔ)過程?-創(chuàng)建存儲(chǔ)過程Set服務(wù)器輸出一旦創(chuàng)建或替換過程Select _ Dept (num _ deptno in number,-定義in mode變量,輸入部門
oracle中調(diào)用帶數(shù)據(jù)出參數(shù)的存儲(chǔ)過程?
-創(chuàng)建存儲(chǔ)過程Set服務(wù)器輸出一旦創(chuàng)建或替換過程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語句沒有返回記錄dbms_output.put_line(#39部門編號(hào)不存在#39)
-輸出信息End Select _ Dept/-調(diào)用存儲(chǔ)過程-注意:調(diào)用帶輸出參數(shù)的存儲(chǔ)過程時(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ù)庫,中寫存儲(chǔ)過程有什么好處?
存儲(chǔ)過程是完成特定功能的一組SQL語句,它們被編譯并存儲(chǔ)在數(shù)據(jù)庫中。用戶通過指定存儲(chǔ)過程的名稱并給出參數(shù)(如果存儲(chǔ)過程有參數(shù))來執(zhí)行存儲(chǔ)過程。存儲(chǔ)過程是數(shù)據(jù)庫中的一個(gè)重要對(duì)象,任何設(shè)計(jì)良好的數(shù)據(jù)庫應(yīng)用程序都應(yīng)該使用它。
簡(jiǎn)單來說,存儲(chǔ)過程可以同時(shí)執(zhí)行多個(gè)sql語句,而且存儲(chǔ)過程比普通sql語句要快,參數(shù)可以傳入傳出。
存儲(chǔ)過程的一個(gè)示例:
創(chuàng)建過程用戶信息
@TitleName nvarchar(50),//字符串參數(shù)
@Content nvarchar(Max),
@PostTime datetime(8),
@用戶名nvarchar(50),
@TitleID int輸出
As//sql語句集
偏差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)容)
選擇@