如何知道sql中的总记录返回存储过程?

Man*_*lia 0 sql sql-server

我已经调用的存储过程usp_getTotalOrder,它看起来像

Select * from Order where CompanyID = 1;
Run Code Online (Sandbox Code Playgroud)

现在,我有一个包含存储过程名称的表.

在我的BLL中,我有一个存储过程名称.我想创建包含一个参数的函数,StoredProcedureName 并返回总行数

Declare @str varchar(50) 
Set @str='GetOrders';  // Stored Procedure Name
Exec @str
Run Code Online (Sandbox Code Playgroud)

但它不返回我想从存储过程中获取的总行数,其名称在函数中.

任何的想法???请帮忙.....

csm*_*118 5

看一眼 @@ROWCOUNT

http://technet.microsoft.com/en-us/library/ms187316.aspx

您可以使用以下内容:

Declare @str varchar(50) 
Set @str='GetOrders';  // Stored Procedure Name
Exec @str
SELECT @@ROWCOUNT
Run Code Online (Sandbox Code Playgroud)

  • @Ally,啊,我现在明白你在说什么了。几个选项: 1: `SET @str='GetOrders' EXEC @str @param1, @param2` 2: `DECLARE @str NVARCHAR(256) SET @str='EXEC GetOrders @param1' EXEC sp_executesql @str,N'@ param1 INT',@param1'` 希望这是有道理的。在这些情况下,我倾向于使用“sp_executesql”而不是“EXEC”。http://stackoverflow.com/questions/803211/how-to-get-sp-executesql-result-into-a-variable (2认同)