首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 再问个游标的小问题。。 [已结贴,结贴人:frankfuse]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-24 10:15:42 楼主
    @@fetch_status 这个值通常用来判断取回数据的状态对吧。可如果我写
    while  (@@fetch_status = 0)
    begin
    (SQL操作)
    end
    他所影响的行就比我预期的多一行,但结果正确。
    而我写成
    while  (@@fetch_status <> -1)
    begin
    IF (@@fetch_status <> -2)
    BEGIN
    (sql操作)
    end
    END
    影响的行数就正常了,结果也正常。
    为什么呢,只要成功了,@@fetch_status不就是0么?不过我见高手都是用第二种方式的。能不能详细解释一下其中的原理。谢谢
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • HEROWANG
    • 等级:
    发表于:2008-06-24 16:28:111楼 得分:4
    我看到更多的是第一种
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-24 19:32:572楼 得分:4
    ”不过我见高手都是用第二种方式的“
    ---我不是高手所以我只见过第一种。现在看见你写了第二种了!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-24 19:53:073楼 得分:4
    我也不是高手.只知道使用@@fetch_status=0
    ...
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-24 20:03:064楼 得分:4
    不如贴出你的游标程序,这样看不出来。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-24 23:13:535楼 得分:4
    一般用@@fetch_status=0
    SQL code
    --sql2000帮助中的例子 DECLARE Employee_Cursor CURSOR FOR SELECT LastName, FirstName FROM Northwind.dbo.Employees OPEN Employee_Cursor FETCH NEXT FROM Employee_Cursor WHILE @@FETCH_STATUS = 0 BEGIN FETCH NEXT FROM Employee_Cursor END CLOSE Employee_Cursor DEALLOCATE Employee_Cursor
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved