共用方式為


搭配預存程序使用陳述式

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

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

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

  • 將狀態值傳回給呼叫的程序或批次,指出成功或失敗 (及失敗原因)。

注意

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

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

注意

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

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

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

注意

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

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

本節內容

主題 描述

使用沒有參數的預存程序

描述如何使用 JDBC 驅動程式來執行不包含輸入或輸出參數的預存程序。

使用含有輸入參數的預存程序

描述如何使用 JDBC 驅動程式來執行包含輸入參數的預存程序。

使用含有輸出參數的預存程序

描述如何使用 JDBC 驅動程式來執行包含輸出參數的預存程序。

使用含傳回狀態的預存程序

描述如何使用 JDBC 驅動程式來執行包含傳回狀態值的預存程序。

使用預存程序與更新計數

描述如何使用 JDBC 驅動程式來執行傳回更新計數的預存程序。

另請參閱

其他資源

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