How can I get the number of records affected by a stored procedure?(如何获取受存储过程影响的记录数?)
问题描述
对于直接针对数据库执行的INSERT
、UPDATE
和DELETE
SQL 语句,大多数数据库提供程序返回受影响的行数.对于存储过程,受影响的记录数总是-1
.
For INSERT
, UPDATE
and DELETE
SQL statements executed directly against the database, most database providers return the count of rows affected. For stored procedures, the number of records affected is always -1
.
我们如何获取受存储过程影响的记录数?
How do we get the number of records affected by a stored procedure?
推荐答案
为存储过程注册一个out参数,如果使用SQL Server,根据@@ROWCOUNT
设置值.如果您使用的是 Oracle,请使用 SQL%ROWCOUNT
.
Register an out parameter for the stored procedure, and set the value based on @@ROWCOUNT
if using SQL Server. Use SQL%ROWCOUNT
if you are using Oracle.
请注意,如果您有多个 INSERT/UPDATE/DELETE
,您将需要一个变量来存储每个操作的 @@ROWCOUNT
结果.
Mind that if you have multiple INSERT/UPDATE/DELETE
, you'll need a variable to store the result from @@ROWCOUNT
for each operation.
这篇关于如何获取受存储过程影响的记录数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何获取受存储过程影响的记录数?


- 更改自动增量起始编号? 2021-01-01
- 远程 mySQL 连接抛出“无法使用旧的不安全身份验证连接到 MySQL 4.1+"来自 XAMPP 的错误 2022-01-01
- 以一个值为轴心,但将一行上的数据按另一行分组? 2022-01-01
- 如何将 Byte[] 插入 SQL Server VARBINARY 列 2021-01-01
- 如何将 SonarQube 6.7 从 MySQL 迁移到 postgresql 2022-01-01
- 导入具有可变标题的 Excel 文件 2021-01-01
- 在SQL中,如何为每个组选择前2行 2021-01-01
- 使用 Oracle PL/SQL developer 生成测试数据 2021-01-01
- SQL 临时表问题 2022-01-01
- 如何使用 pip 安装 Python MySQLdb 模块? 2021-01-01