从 SQL 服务器存储过程返回数据

Returning Data from a SQL Server stored procedure

我想问一下我怎么去 return count(*) 因为每次我调用存储过程时,它只是打印结果。

这是代码:

ALTER PROCEDURE sp_returnCount
    @tblname sysname
    , @colname sysname
    , @key varchar(10) 
AS
    DECLARE @sql nvarchar(4000)
    DECLARE @num INT
    DECLARE @params NVARCHAR (4000)

    SELECT @sql = 'SELECT COUNT(*) ' +
              ' FROM dbo.' + quotename(@tblname) + 
              ' WHERE ' + quotename(@colname) + ' LIKE @key'

    EXEC sp_executesql @sql, N'@key varchar(10)', @key
    --just prints 5 or any numbers...

我想 return count(*) 在另一个查询中使用它。提前致谢。

ALTER PROCEDURE sp_returnCount
    @tblname sysname
    , @colname sysname
    , @key varchar(10)
AS

DECLARE @sql nvarchar(4000)
DECLARE @num INT
DECLARE @params NVARCHAR (4000) 
DECLARE @count int

SELECT @sql = 'SELECT @count = COUNT(*) ' +
              ' FROM dbo.' + quotename(@tblname) + 
              ' WHERE ' + quotename(@colname) + ' LIKE @key'

EXEC sp_executesql @sql, N'@key varchar(10), @count int OUTPUT', @key, @count OUTPUT