存储过程出错,提示必须声明变量 '@Rec'。

zitiger 2003-12-03 05:54:34
存储过程出错,提示必须声明变量 '@Rec'。
CREATE Procedure C_ShowMessage
(
@ClassId int,
@Rec int output
)
AS

DECLARE @TableName nvarchar(20)
SELECT @TableName = 'Message'+CAST(@ClassId/7000 AS NVARCHAR)

EXEC('SELECT @Rec = count(*) From '+@TableName+' Where ClassId='+@ClassId)


EXEC('SELECT [Id],[Name],Content,AddTime From '+@TableName+' Where ClassId='+@ClassId+' Order By AddTime Desc')

GO
...全文
36 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengdali 2003-12-03
  • 打赏
  • 举报
回复
CREATE Procedure C_ShowMessage
@ClassId int,
@Rec int output
AS

DECLARE @TableName nvarchar(20)
SELECT @TableName = 'Message'+CAST(@ClassId/7000 AS NVARCHAR(100))

declare @sql nvarchar(4000)

set @sql=N'SELECT @Rec = count(*) From '+@TableName+' Where ClassId='+@ClassId

exec sp_executesql @sql,N'@Rec int output',@Rec output

EXEC('SELECT [Id],[Name],Content,AddTime From '+@TableName+' Where ClassId='+@ClassId+' Order By AddTime Desc')

GO
wzh1215 2003-12-03
  • 打赏
  • 举报
回复
CREATE Procedure C_ShowMessage
(
@ClassId int,
@Rec int output
)
AS

DECLARE @TableName nvarchar(20),@sql varchar(1000)
SELECT @TableName = 'Message'+CAST(@ClassId/7000 AS NVARCHAR)

set @sql='SELECT @Rec = count(*) From '+@TableName+' Where ClassId='+@ClassId

exec sp_executesql @sql,N'@Rec int output',@Rec output

EXEC('SELECT [Id],[Name],Content,AddTime From '+@TableName+' Where ClassId='+@ClassId+' Order By AddTime Desc')

GO
Rotaxe 2003-12-03
  • 打赏
  • 举报
回复
可参考http://expert.csdn.net/Expert/topic/2364/2364046.xml?temp=.6850092
CrazyFor 2003-12-03
  • 打赏
  • 举报
回复
参考:

declare @tcnt int
declare @paras varchar(100)
DECLARE @SQLString NVARCHAR(500)
set @paras ='1,3,5'
set @sqlstring=N'select @cnt=count(*) from sysobjects where id in ('+@paras+')'

set @tcnt=0
execute sp_executesql
@sqlstring,
N'@cnt int output',
@cnt=@tcnt output
select @tcnt


select * from sysobjects


参考:
Create Procedure GetMaxID
@TableName varchar(100), @ID int output
as
begin
declare @sql nvarchar(1000)
set @sql='select @ID = count(ID) from '+@TableName
exec sp_executesql @sql,N'@id int output',@id output
end

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧