您好,登錄后才能下訂單哦!
Java如何實(shí)現(xiàn)對(duì)存儲(chǔ)過(guò)程的調(diào)用:
1、不帶輸出參數(shù)的
create procedure getsum @n int =0<--此處為參數(shù)--> as declare @sum int<--定義變量--> declare @i int set @sum=0 set @i=0 while @i<=@n begin set @sum=@sum+@i set @i=@i+1 end print 'the sum is '+ltrim(rtrim(str(@sum)))
JAVA可以調(diào)用 但是在JAVA程序卻不能去顯示該存儲(chǔ)過(guò)程的結(jié)果,因?yàn)樯厦娴拇鎯?chǔ)過(guò)程的參數(shù)類型int傳遞方式是in(按值)方式。
import java.sql.*; public class ProcedureTest{ public static void main(String args[]) throws Exception{ //加載驅(qū)動(dòng) DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver()); //獲得連接 Connection conn=DriverManager.getConnection("jdbc:odbc:mydata","sa",""); //創(chuàng)建存儲(chǔ)過(guò)程的對(duì)象 CallableStatement c=conn.prepareCall("{call getsum(?)}"); //給存儲(chǔ)過(guò)程的參數(shù)設(shè)置值 c.setInt(1,100); //將第一個(gè)參數(shù)的值設(shè)置成100 //執(zhí)行存儲(chǔ)過(guò)程 c.execute(); conn.close(); } }
2、帶輸出參數(shù)的
alter procedure getsum @n int =0, @result int output as declare @sum int declare @i int set @sum=0 set @i=0 while @i<=@n begin set @sum=@sum+@i set @i=@i+1 end set @result=@sum
java中調(diào)用:
以上就是java中如何調(diào)用存儲(chǔ)過(guò)程的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注億速云其它相關(guān)文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。