搭配預存程序使用陳述式

下載 JDBC 驅動程式

預存程序是資料庫程序,類似其他程式設計語言中的程序,包含在資料庫本身以內。 在 SQL Server 中,您可以使用 Transact-SQL 或使用 common language runtime (CLR) 和其中一種 Visual Studio 程式設計語言 (如 Visual Basic 或 C#) 來建立預存程序。 一般而言,SQL Server 預存程序可執行下列動作:

  • 接受輸入參數,並以輸出參數的形式將多個數值傳回呼叫程序或批次處理。

  • 包含可在資料庫中執行作業的程式陳述式,包括呼叫其他程序。

  • 將狀態值傳回呼叫程序或批次處理,以指示成功或失敗 (及失敗原因)。

注意

如需 SQL Server 預存程序的詳細資訊,請參閱《SQL Server 線上叢書》中的<了解預存程序>。

如需利用預存程序來使用 SQL Server 資料庫中的資料,則 Microsoft JDBC Driver for SQL Server 提供 SQLServerStatementSQLServerPreparedStatementSQLServerCallableStatement 類別。 要使用哪一個類別視預存程序是否需要 IN (輸入) 或 OUT (輸出) 參數而定。 如果預存程序不需要 IN 或 OUT 參數,您可以使用 SQLServerStatement 類別;如果會多次呼叫預存程序,或只需要 IN 參數,則您可以使用 SQLServerPreparedStatement 類別。 如果預存程序需要 IN 與 OUT 參數,您應該使用 SQLServerCallableStatement 類別。 只有在預存程序需要 OUT 參數時,您才需要額外使用 SQLServerCallableStatement 類別。

注意

預存程序也可以傳回更新計數和多個結果集。 如需詳細資訊,請參閱搭配更新計數使用預存程序使用多個結果集

當使用 JDBC 驅動程式呼叫具有參數的預存程序時,您必須使用 call SQL 逸出序列與 SQLServerConnection 類別的 prepareCall 方法搭配。 call 逸出序列的完整語法如下:

{[?=]call procedure-name[([parameter][,[parameter]]...)]}

注意

如需 call 與其他 SQL 逸出序列的詳細資訊,請參閱使用 SQL 逸出序列

本節中主題描述您可以使用 JDBC 驅動程式和 call SQL 逸出序列來呼叫 SQL Server 預存程序的方式。

本節內容

主題 描述
使用不含參數的預存程序 描述如何使用 JDBC 驅動程式來執行不包含輸入或輸出參數的預存程序。
使用含輸入參數的預存程序 描述如何使用 JDBC 驅動程式來執行包含輸入參數的預存程序。
使用含輸出參數的預存程序 描述如何使用 JDBC 驅動程式來執行包含輸出參數的預存程序。
使用含傳回狀態的預存程序 描述如何使用 JDBC 驅動程式來執行包含傳回狀態值的預存程序。
使用含更新計數的預存程序 描述如何使用 JDBC 驅動程式來執行傳回更新計數的預存程序。

另請參閱

搭配 JDBC 驅動程式使用陳述式