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
其中须传递表示百分比的整数N,但如下所写却有错:
CREATE PROCEDURE Top1201
@N SMALLINT
AS
declare @Sql as varchar(1000)
Set @Sql = 'SELECT TOP' +convert(varchar(20), @N)+'PERCENT ...'
exec @sql
这种情况可能是这样,你在只执行declare temp072没有把这个游标释放。你把那个查询窗口关了,在开一个试一试。
另:temp0721.Associate_ID)这里多了一个扩号
2.from YP_Resident_WTab,
YP_Assoc_Segmentation_WTab,
temp0721--此處無效,是一個cursor,不是表
where YP_Assoc_Segmentation_WTab.Associate_ID=temp0721.Associate_ID)
因為上面出錯,從而使存储过程結束,close ,deallocate沒有執行所以再運行時會"temp0721已存在"