当前位置: 代码迷 >> ASP.NET >> 帮忙!这个存储过程那边出错了
  详细解决方案

帮忙!这个存储过程那边出错了

热度:7686   发布时间:2013-02-25 00:00:00.0
帮忙!这个存储过程那里出错了
CREATE   PROCEDURE   Test
(
@size   int
)
  AS
select   top   @size     RoomNumber   from   RoomInfo
GO

我是想查找表RoomInfo中前@size条纪录,但是报错信息是@size附近有语法错误

------解决方案--------------------------------------------------------

CREATE PROCEDURE Test
(
@size int
)
AS
declare @sql varchar(80)
set @sql= 'select top '+ str(@size)+ ' RoomNumber from RoomInfo '
exec(@sql)

GO


------解决方案--------------------------------------------------------
CREATE PROCEDURE Test
(
@size int
)
AS
select top @size RoomNumber from RoomInfo
GO

你这里@size是整型的。所以不能直接和字符串拼接。。
应该:
CREATE PROCEDURE Test
(
@size int
)
AS
declare @sql varchar(8000)
set @sql= 'select top ' + cast(@size as varchar) + ' RoomNumber from RoomInfo '
exec(@sql)
GO
  相关解决方案