结合使用语句和存储过程
存储过程是一个数据库过程,类似于其他编程语言中的过程,它包含于数据库本身。 在 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 驱动程序运行返回更新计数的存储过程。 |