--可以这样
declare @i int
set @i=num1*num2
set rowcount @i
Select * from Orders
set rowcount 0

解决方案 »

  1.   

    --或者:
    declare @i varchar(20)
    set @i=num1*num2
    exec('Select top '+@i+' * from Orders')
      

  2.   

    能解释一下吗?
    “set rowcount 0”是什么意思呢?
      

  3.   

    set rowcount (number) -- 设置显示记录条数 set rowcount 10 (为0则取消设置) 
      

  4.   

    declare num1 int
    declare num2 int
    declare @number_var int
    set @number_var=num1*num2
    set rowcount @number_var
    Select * from Orders
    set rowcount 0--在此說明一下set rowcount的用法。
    SET ROWCOUNT { number | @number_var } 
    就是顯示以后查詢記錄的條數。
    例如﹕
    若查詢有10條符合條件的記錄
    SET ROWCOUNT 5
    只顯示前5條。
    SET ROWCOUNT 0
    就是全部顯示所有符合條件的記錄﹐顯示10條記錄
      

  5.   

    create proc ccc
                @a int ,
                @b int 
    as
    declare @t int
    set @t=@a*@b
    set rowcount @t
    select  * from student
    set rowcount 0GO
    執行: exec ccc 2,3輸出6條記錄
      

  6.   

    top 可以直接用的
    select top 5 num1*num2 as col from table
    order by col
      

  7.   

    邹老大说的明白了,用字符串来作,然后用 Exec(sql) 来运行