create procedure c1
@tblName varchar(255), -- 表名
@PageSize int = 10, -- 页尺寸
@PageIndex int = 1, -- 页码
AS
declare @SQL varchar(5000) -- 主语句
begin
select top @PageSize * from musiclist
end

解决方案 »

  1.   

    create procedure c1
    @tblName varchar(255), -- 表名
    @PageSize int = 10, -- 页尺寸
    @PageIndex int = 1, -- 页码
    AS
    declare @SQL varchar(5000) -- 主语句
    begin
    exec('select top '+@PageSize+' * from musiclist')
    end
      

  2.   

    --錯了, 再改改
    create procedure c1
    @tblName varchar(255), -- 表名
    @PageSize int = 10, -- 页尺寸
    @PageIndex int = 1 -- 页码
    AS
    declare @SQL varchar(5000) -- 主语句
    begin
    exec('select top '+@PageSize+' * from musiclist')
    end
      

  3.   

    create procedure c1
    @tblName varchar(255), -- 表名
    @PageSize int = 10, -- 页尺寸
    @PageIndex int = 1, -- 页码
    AS
    declare @SQL varchar(5000) -- 主语句
    begin
    set @SQL = 'select top '+@PageSize+' * from musiclist'   ---这个地方要用动态的sql语句
    exec(@SQL)
    end
      

  4.   

    @PageIndex int = 1, -- 页码
    --
    多了一個逗號select top @PageSize * from musiclist
    --
    TOP 後不能用變量`
      

  5.   

    select top @PageSize * from musiclist
    --
    TOP 後不能用變量这个命令成功了,,怎么会不能用变量呢?
      

  6.   

    declare @PageSize int
    set @PageSize=5
    select top @PageSize * from musiclist--能成功執行?
      

  7.   

    create procedure c1
    @tblName varchar(255), -- 表名
    @PageSize int = 10, -- 页尺寸
    @PageIndex int = 1 -- 页码
    AS
    declare @SQL varchar(5000) -- 主语句
    begin
    exec('select top '+@PageSize+' * from musiclist')
    end
    执行下面就成功了呀 读出数据了呀
    execute c1 10
      

  8.   

    这样你定义变量@SQL不是多余了?