Может кто-нибудь сказать, как исправить следующий код ниже. Я пытаюсь создать хранимую процедуру, которая возвращает количество строк в таблице, имя которой передается ей.
CREATE PROCEDURE spROWCOUNTER
(
@tablename nvarchar(20)
@rowCountVal int OUTPUT
)
AS
DECLARE @strQuery nvarchar(300)
SET @strQuery = 'SELECT @rowCountVal=COUNT(*) FROM '+@tablename
EXEC(@strQuery)
RETURN @rowCountVal
СООБЩЕНИЕ ОБ ОШИБКЕ:
- Неверный синтаксис рядом с @rowCountVal
- Должен объявлять скалярную переменную '@tablename'
- Необходимо объявить скалярную переменную '@ rowCountVal'
тогда как код ниже работает нормально
ALTER PROCEDURE spROWCOUNTER
(
@rowCountVal int OUTPUT
)
AS
SELECT @rowCountVal=COUNT(*) FROM DEFECT_LOG
RETURN @rowCountVal