2016-11-30 3 views
0

具体的のJava /春 - ストアドプロシージャコール文字列の差が

private static final String STORED_PROC_CALL_STRING = "{? = call dbo.test1(?,?,?,?)}"; 

private static final String STORED_PROC_CALL_STRING = "{call dbo.test2(?,?,?,?)}"; 

の違いは何です:最初の文の冒頭に? =の背後にある意味は何ですか(SQL Server上で)呼び出すストアドプロシージャがこれを必要としているかどうかをどのように判断することができますか?

編集:CallableStatementを作成し、パラメータとして提供された文字列で.prepareCall()メソッドを使用します。

ありがとう

答えて

1

"?"最初のマークは「stored procedure with return status」を指し、手続きによって返されます。この状態は、RETURN句を使用してプロシージャによって直接戻されます。プロシージャのコードをチェックして、そこを確認できます。 2番目は、入力(および場合によっては出力)パラメータを持つプロシージャの呼び出しです。