select top 10 那个 10 能改成变量吗?
CREATE proc hnsm_user(
@sortname NVarChar(30),
@nsortname NVarChar(30),
@page int)
as
select top 20 * from bbs_member
go
我想把 那个 20 改成变量
因为可能是会变的
declare @num int
set @num=20
select top @num * from bbs_member
这样不行
求教大家,,还有如果要 乘于 @page 应该怎么写呢?
作者: lijianc23 发布时间: 2011-06-11
-- 1 可以试试 declare @num int set @num=20 select top(@num) * from bbs_member -- 2 可以试试 declare @num int declare @sql varchar(1000) set @num=20 set @sql='select top '+ltrim(@num)+' * from bbs_member' exec(@sql)
作者: AcHerat 发布时间: 2011-06-11
declare @i int, @sql varchar(200) set @i = 20 set @sql = 'Select top '+convert(varchar(5), @i)+' * from sysobjects' exec(@sql)
作者: jxqn_liu 发布时间: 2011-06-11
declare @i int, @sql varchar(200) set @i = 20 set @sql = 'Select top ('rtrim(@i)+') * from sysobjects' exec(@sql)
作者: zy112429 发布时间: 2011-06-11
作者: chuanzhang5687 发布时间: 2011-06-11
declare @num int set @num=20 select top(@num*@page) * from bbs_member
作者: chuanzhang5687 发布时间: 2011-06-11
作者: zjl8008 发布时间: 2011-06-11
动态 sql
作者: abcjun188 发布时间: 2011-06-11
CREATE proc hnsm_user(
@sortname NVarChar(30),
@nsortname NVarChar(30),
@page int,
@Top int)
as
Declare @Sql NVarchar(2000)
Set @Sql = ' select top ' + Cast(@Top As Varchar(10))+ ' * from bbs_member '
Exec(@Sql)
go
作者: Lyongt 发布时间: 2011-06-11
-- SQL SERVER 2005+ declare @num int set @num=20 select top(@num) * from bbs_member -- SQL SERVER 2000 declare @num int ;set @num=20 declare @sql varchar(8000) set @sql='select top '+ltrim(@num)+' * from bbs_member' exec(@sql)
作者: maco_wang 发布时间: 2011-06-11