@count不能声明为int,应该是
Declare @count varchar(2)

解决方案 »

  1.   

    可以声明int的
    完整是这样的
    CREATE PROCEDURE getID @count int
    AS
    select top @count * from 。。
    GO
    当count是字符串,用@count varchar(6).做整数用@count int,在别的过程用过。没出问题的
      

  2.   

    cannot be done, check 
    http://www.sqlteam.com/item.asp?ItemID=233
    for reasonuse "set rowcount" instead.
      

  3.   

    top 后面是不能跟动态参数的,可以使用这种变通手法
    SET ROWCOUNT @topNum
    select * from Exam where dwbh=@dwbh order by newID()
    SET RWOCOUNT 0嘿嘿
    以上是抄某位大侠的