使用带有存储过程的语句

存储过程是一个数据库过程，类似于其他编程语言中的过程，它包含于数据库本身。在 SQL Server 中，通过使用 Transact-SQL，或使用公共语言运行时 (CLR) 和 Visual Studio 编程语言之一（如 Visual Basic 或 C#），可以创建存储过程。通常，SQL Server 存储过程可执行下列操作：

- 接受输入参数，然后以输出参数的形式向调用过程或批处理返回多个值。

- 包含编程语句，这些语句可在数据库中执行操作，包括调用其他过程。

- 向调用过程或批处理返回一个状态值，以指示成功或失败（及失败原因）。

有关 SQL Server 存储过程的详细信息，请参阅 SQL Server 联机丛书中的“了解存储过程”。

为了使用存储过程来处理 SQL Server 数据库中的数据，Microsoft JDBC Driver for SQL Server 提供了 SQLServerStatement、SQLServerPreparedStatement 和 SQLServerCallableStatement 类。要使用那个类取决于存储过程是否需要 IN（输入）或 OUT（输出）参数。如果存储过程不需要 IN 和 OUT 参数，则可以使用 SQLServerStatement 类；如果要多次调用存储过程或仅需要 IN 参数，则可以使用 SQLServerPreparedStatement 类。如果存储过程同时需要 IN 和 OUT 参数，则应使用 SQLServerCallableStatement 类。只有在存储过程仅需要 OUT 参数时，才应使用 SQLServerCallableStatement 类。

存储过程还可以返回更新计数和多个结果集。有关详细信息，请参阅使用带有更新计数的存储过程和使用多个结果集。

使用 JDBC 驱动程序调用带参数的存储过程时，必须结合 SQLServerConnection 类的 prepareCall 方法使用 call SQL 转义序列。 call 转义序列的完整语法如下：

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

有关 call 和其他 SQL 转义序列的详细信息，请参阅使用 SQL 转义序列。

本部分中的主题说明使用 JDBC 驱动程序和 call SQL 转义序列调用 SQL Server 存储过程的可用方法。

# 本节涉及的主题

主题 | 说明
--- | ---
使用不带参数的存储过程 | 说明如何使用 JDBC 驱动程序运行不包含输入或输出参数的存储过程。
使用带有输入参数的存储过程 | 说明如何使用 JDBC 驱动程序运行包含输入参数的存储过程。
使用带有输出参数的存储过程 | 说明如何使用 JDBC 驱动程序运行包含输出参数的存储过程。
使用带有返回状态的存储过程 | 说明如何使用 JDBC 驱动程序运行包含返回状态值的存储过程。
使用带有更新计数的存储过程 | 说明如何使用 JDBC 驱动程序运行返回更新计数的存储过程。

# 请参阅

通过 JDBC 驱动程序使用语句
发送有关本主题的反馈至 Microsoft。

© 2012 Microsoft。保留所有权利。