exec sp_executesql N'select top(5) * from MediaPack'
如何将top(5)中的5转化成一个变量sql

解决方案 »

  1.   

    DECLARE @int INT
    SET @int=5
    exec ( N'select top('+@int+') * from MediaPack')
      

  2.   

    DECLARE @A int=5
    DECLARE @SqlPram NVARCHAR(200)
    SET @SqlPram='
    @p_A int
    '
    exec sp_executesql N'select top(@p_A) * from MediaPack'
    ,@SqlPram
    ,@A
      

  3.   

    declare @sql varchar(max)
    declare @i int
    set @i=5
    set @sql='select top('+@i+') * from MediaPack'
      

  4.   

    declare @sql varchar(max)
    declare @i int
    set @i=5
    set @sql='select top('+@i+') * from MediaPack'
    exec (@sql)
      

  5.   

    exec ( 'select top(' 
      @int
      ') * from MediaPack' )