Navicat Premium运行sql存储过程提示42000 - [SQL Server]必须声明标量变量 "@csheetno",在sql能运行呢

ALTER procedure [dbo].[GetMaxSheetNo]
@sqlstr nvarchar(1000),@PreFix varchar(2),@Length int, @csheetno varchar(10) OUTPUT
as
begin
declare @EXECSQL nvarchar(300),@sheetno varchar(10)
SET @EXECSQL='SELECT @maxsheetno=('+@sqlstr+')'
exec sp_executesql @EXECSQL,N'@maxsheetno varchar(10) output', @sheetno OUTPUT
if @sheetno is null
BEGIN
set @sheetno=@PreFix+ right('000000000000001',@Length)
END
else
begin
set @sheetno=@PreFix+right('000000000000000'+convert(varchar(20),convert(int,right(@sheetno,@Length))+1),@Length)
end
set @csheetno=@sheetno
end

set @csheetno=@sheetno

这句改成

return @sheetno