存储过程如何返回ROWCOUNT?

时间:2010-09-16 08:21:24

标签: clrstoredprocedure

我编写了存储过程,里面有2个Insert查询和1个Update查询。在所有这些中,一次执行插入查询或更新查询。现在我的问题是在每种情况下获得ROWCOUNT。假设是否执行了插入操作,那么我希望存储过程将@@ROWCOUNT返回给调用应用程序,以便应用程序知道所需操作是否正确执行。任何人都可以建议/告诉我如何从存储过程中获取受影响的行?

1 个答案:

答案 0 :(得分:0)

使用存储过程中的输出参数返回插入/更新的RowCount。

Refer MSDN link for more information关于如何使用输出参数

您可以拥有多个输出参数,因此您可以为插入提供2个不同的输出参数,并为更新语句提供第3个输出参数。

示例:

CREATE PROCEDURE GetEmployeeData
   @employeeID INT,
   @managerID INT **OUTPUT**
AS
BEGIN
....
....

此外,您始终可以使用分隔符连接2个插入/更新的行计数,并将它们作为一个值返回,例如:“10; 0” - 但这是旧式和“我不建议”的方法。

此外,您可以创建一个表变量并返回包含rows =插入/更新数量的表以及受影响的列= RowCount的值。