Я хотел бы спросить, как я вернусь count(*)
, потому что каждый раз, когда я вызываю хранимую процедуру, он просто печатает результат.Возврат данных из хранимой процедуры SQL Server
Вот код:
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...
Я хотел бы вернуть count(*)
использовать его в другом запросе. Заранее спасибо.
Вы пробовали RETURN @@ Rowcount – Dijkgraaf
Да, вы прямо здесь. Я попробовал, и это сработало. Спасибо @Dijkgraaf – JanLeeYu
убедитесь, что @@ Rowcount сразу после заявления. Иначе вы не можете получить требуемый результат. Alternativley, назначьте его другой переменной для использования в более поздней части вашего запроса или хранимой процедуре. – Squirrel