回 帖 发 新 帖 刷新版面

主题:大家来看看我写的这个函数

5.    写一个函数实现求学生的平均总成绩(必须用游标实现,否则没有分):select sum(成绩)  from xs_kc
create function st_cursor2 (@st_cursor cursor)
returns int
as
begin
       
    set @st_cursor=cursor forward_only static for
       select  avg(成绩) from xs_kc group by 学号
     open @st_cursor
return 1
end
在编译的时候,这个函数没有出错,但是在执行这个函数后
declare @mycursor cursor
    execute st_cursor2 (@mycursor )
    while (@@fetch_status=0)
        begin
            fetch next from @mycursor
        end
    close @mycursor
       deallocate @mycursor
出错信息:
服务器: 消息 170,级别 15,状态 1,行 2
第 2 行: '@mycursor' 附近有语法错误。

回复列表 (共1个回复)

沙发

我是个菜鸟没看懂楼主写的函数要干什么,但在先面有点疑问?
declare @mycursor cursor
    execute st_cursor2 (@mycursor )///[color=FF0000]但我认为这里应该给游标个初值, 已经是调用函数有传了空游标给函数,他怎么知道干什么[/color]
    while (@@fetch_status=0)
        begin
            fetch next from @mycursor
        end
    close @mycursor
       deallocate @mycursor

我来回复

您尚未登录,请登录后再回复。点此登录或注册