主题:  MSSQL存储过程问题

悲伤的设计

职务:普通成员
等级:1
金币:1.0
发贴:158
#12004/7/29 15:04:48
CREATE PROCEDURE [autobj_list]
(
@type [int],
@top [int]
)
AS
select top @TOP * from [表] where type=@type

上面语句用我想把TOP用外部参数来表示,不想定死,但上面的语句提示@TOP有语法错误,把@TOP改成数字就可以了,请教大家



天雨流芳

职务:普通成员
等级:1
金币:0.0
发贴:8
#22004/7/30 9:45:50
可以这样设计

CREATE PROCEDURE [autobj_list]
(
@type [int],
@top [int]
)
AS
declare ss varchar(200)
set ss= 'select top '+@TOP+' * from [表] where type=‘@type
exec ss
试试