一、不帶輸出參數的
---------------不帶輸出參數的----------------------------------
create procedure getsum
@n int =0<--此處為參數-->
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)))
--------------在SQL中執行:--------------------
exec getsum 100
------------在JAVA中調用:---------------------
JAVA可以調用 但是在JAVA程序卻不能去顯示該存儲過程的結果 因為上面的存儲過程的參數類型int 傳遞方式是in(按值)方式
import java.sql.*;
public class ProcedureTest
{
public static void main(String args[]) throws Exception
{
//加載驅動
DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver());
//獲得連接
Connection conn=DriverManager.getConnection("jdbc:odbc:mydata","sa","");
//創建存儲過程的對象
CallableStatement c=conn.divpareCall("{call getsum(?)}");
//給存儲過程的參數設置值
c.setInt(1,100); //將第一個參數的值設置成100
//執行存儲過程
c.execute();
conn.close();
}
}