免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4428 | 回复: 3
打印 上一主题 下一主题

select count(*)還回的筆數 為負數 大家知道怎麼回事嗎? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-03-19 08:43 |只看该作者 |倒序浏览
FUNCTION DAT_chkSql_getRows(V_work_id,V_tabname,V_sql_str)
        DEFINE  V_tabname    CHAR(20),  V_work_id    CHAR(20),
                V_sql_str    CHAR(1024),V_event      CHAR(256),
                V_rows       SMALLINT
        CALL DAT_taskiniFUN("資料檢查")
        CALL DAT_set_curr_group("T")    #---類別為task
        LET V_rows = 0
        LET V_sql_str = "SELECT COUNT(*) FROM ",V_tabname CLIPPED,
                        " WHERE ",V_sql_str CLIPPED
        CALL DAT_rec_event(0,V_work_id,V_sql_str)
        WHENEVER ERROR  CONTINUE
        PREPARE  V_sql_dat01 FROM V_sql_str
        IF  STATUS <> 0 THEN
            LET V_rows = -1 #--負數為語法問題
        LET V_event = "任務ID:",V_work_id CLIPPED,"中SQL語法錯誤。"
            CALL DAT_rec_event(-1,V_work_id,V_event)
            RETURN V_rows
        END IF
        WHENEVER ERROR  CONTINUE
        DECLARE  V_sql_exc01 CURSOR FOR V_sql_dat01
        FOREACH  V_sql_exc01 INTO V_rows
            EXIT FOREACH
        END FOREACH
        WHENEVER ERROR  STOP
        LET V_event = "任務ID:",V_work_id CLIPPED,"中SQL語法檢查正確,",
                      "存在資料筆數為:",V_rows
        CALL DAT_rec_event(1,V_work_id,V_event)
        RETURN V_rows
    END FUNCTION
我在程式中執行
CALL DAT_chkSql_getRows("201103190827380002","cusmexh"," prdate[1,6] between '201102' and '201102'")  還回的結果為-1876

有知道的 還請指出什麽問題  多謝!

论坛徽章:
0
2 [报告]
发表于 2011-03-22 11:00 |只看该作者
別沉下去  自己頂

论坛徽章:
0
3 [报告]
发表于 2011-03-24 09:18 |只看该作者
V_rows       SMALLINT
这行错误,应该是 V_rows       integer

论坛徽章:
0
4 [报告]
发表于 2011-03-24 13:14 |只看该作者
回复 3# xxyyy


    多謝 啦!  我修改一下 ,再觀察一下 試試。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP