首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

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

2011-12-23 
帮忙!这个存储过程那里出错了CREATEPROCEDURETest(@sizeint)ASselecttop@sizeRoomNumberfromRoomInfoGO我

帮忙!这个存储过程那里出错了
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

热点排行