1.编写一个存储过程统计并输出总收入排名在前N%的用户纪录.
  其中须传递表示百分比的整数N,但如下所写却有错:
  CREATE PROCEDURE  Top1201 
  @N  SMALLINT
  AS
  declare @Sql as varchar(1000)
  Set @Sql = 'SELECT  TOP' +convert(varchar(20), @N)+'PERCENT ...'
  exec @sql

解决方案 »

  1.   

    至于第二个问题我是过了,他没有提示temp0721无效或temp0721已存在
    这种情况可能是这样,你在只执行declare  temp072没有把这个游标释放。你把那个查询窗口关了,在开一个试一试。
    另:temp0721.Associate_ID)这里多了一个扩号
      

  2.   

    1.just like up
    2.from YP_Resident_WTab,
         YP_Assoc_Segmentation_WTab,
         temp0721--此處無效,是一個cursor,不是表
      where YP_Assoc_Segmentation_WTab.Associate_ID=temp0721.Associate_ID)
    因為上面出錯,從而使存储过程結束,close ,deallocate沒有執行所以再運行時會"temp0721已存在"