`
836811384
  • 浏览: 549739 次
文章分类
社区版块
存档分类
最新评论

PROC C查询数据的两种方式

 
阅读更多

有一类表,跟日期或者说账期有关系,例如月出账只是一个月的账单,分别存放在不同的表中,你可以创建按月份的表分区,也可以创建12张不同月份的表。
建议使用第2种方式。表名命名为bill_record_xx(xx代表月份)。这个时候如果用以下方式进行处理,需要写大量代码,代码简洁度很差。



EXEC SQL At db_name
DECLARE Cur_RECORD CURSOR for
Select rec.serv_id,rec.acc_nbr,rec.area_id,rec.product_id,rec.charge From bill_record_01 rec
Where bill_month='201301';
EXEC SQL At db_name
open Cur_RECORD;

while(1)
{
EXEC SQL At db_name
fetch Cur_RECORD Into :ll_serv_id,:lz_acc_nbr,:lz_area_id,:lz_product_id;

if(sqlca.sqlcode == SQLNOTFOUND)
{
//没有记录,打印日志后,退出。
break;
}

//具体业务处理

}

如果表名能够根据月份进行自动的识别,那就不存在以上的问题了。按以下方式进行实现:

sprintf(lz_SqlStr,
"select rec.serv_id,rec.acc_nbr,rec.area_id,rec.product_id,rec.charge from bill_record_%s rec, ", lz_Month);

EXEC SQL AT db_name PREPARE sqlproc FROM :lz_SqlStr;
EXEC SQL AT db_name DECLARE Cur_Bill_BJAC_MONTH CURSOR FOR sqlproc;
EXEC SQL AT db_name OPEN Cur_Bill_BJAC_MONTH;

while(1)
{
EXEC SQL At db_name
fetch Cur_RECORD Into :ll_serv_id,:lz_acc_nbr,:lz_area_id,:lz_product_id;

if(sqlca.sqlcode == SQLNOTFOUND)
{
//没有记录,打印日志后,退出。
break;
}

//具体业务处理

}

分享到:
评论

相关推荐

    《数据结构 1800题》

    7.从逻辑上可以把数据结构分为(C )两大类。【武汉交通科技大学 1996 一 、4(2分)】 A.动态结构、静态结构 B.顺序结构、链式结构 C.线性结构、非线性结构 D.初等结构、构造型结构 8.以下与数据的存储...

    山东科技大学【操作系统实验】报告+全部源码(可运行)

    实验三:进程同步与互斥-生产者消费者(两种方式) 实验四:Limux内存管理 1.显示进程的虚拟内存地址空间分布信息 2.获取一个进程的虚拟存储区域信息 3.计算vma每个vma区域的大小,以及代码段和数据段的大小. 实验...

    都是想要的考试题 速度下载

    8259A的ICW2给定为80H,工作于电平触发方式,全嵌套中断优先级,数据总线无缓冲,采用中断自动结束方式。请填充下面程序中的空白项(注意:控制字中可0可1位选0,8255未用端口设成输入方式),(微处理器8086的A1、A2...

    经典SQL语句大全

    两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。 B: EXCEPT 运算符 EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时...

    数据库操作语句大全(sql)

    两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。 B: EXCEPT 运算符 EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时...

    sql经典语句一部分

    两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。 B: EXCEPT 运算符 EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时...

    asm 汇编语言基础知识

    Microsoft公司推出有宏汇编程序MASM和小汇编程序ASM两种,二者的区别在于:MASM有宏处理功能,而ASM没有宏处理功能,因此,MASM比ASM的功能强大,但MASM需要占据较大的内存空间,当内存空间较小时(如64 KB),只能...

    wireshark源码

    这两种情况可以通过树指针参数"tree"来进行区分。如果树指针为NULL,我们只需要提供概要信息;反之,我们就需要拆解协议完成细节的显示了。基于此,让我们来增强这个解析器吧。 例4 static void dissect_rdp(tvbuff_...

    Tcl_TK编程权威指南pdf

    他使用Tcl作为这两种工具的命令语言,这样用户就可以定义菜单或者对那些程序进行定制。那时还处在使用X10的时代,他计划编写一个基于Tcl的X工具包,以使程序之间通过Tcl命令进行通信,彼此相互协作。对我来说,这种...

    IT运维之Linux服务器监控方案.doc

    /bin/bash #监控cpu系统负载 IP=`ifconfig eth0 " grep "inet addr" " cut -f 2 -d ":" " cut -f 1 -d " "` cpu_num=`grep -c 'model name' /proc/cpuinfo` count_uptime=`uptime "wc -w` load_15=`uptime " awk '{...

    入门学习Linux常用必会60个命令实例详解doc/txt

    在前两种格式中,会将<来源>复制至<目的地>或将多个<来源>文件复制至已存在的<目录>,同时设定权限模式及所有者/所属组。在第三种格式中,会创建所有指定的目录及它们的主目录。长选项必须用的参数在使用短选项时也...

    (重要)AIX command 使用总结.txt

    AIX常用命令://查看机器序列号,IBM的基本信息都可以通过该命令查询得到 #prtconf #oslevel -r == uname -a //操作系统版本 #oslevel //查看操作系统版本ex :5.1.0.0 #oslevel -r //ex:5100-04 == oslevel -q //...

    MySQL 入门学习 ——基础教程

    两种方法: 一是用winmysqladmin,如果机器启动时已自动运行,则可直接进入下一步操作。 二是在DOS方式下运行 d:mysqlbinmysqld · 2、进入mysql交互操作界面 在DOS方式下,运行: d:mysqlbinmysql 出现: ...

    大学文献检索资料 DOC

    信息检索语言是用来描述文献特征和表达信息提问,沟通信息存储人员和信息检索者双方思想的一种人工语言。 信息检索语言的分类:按描述文献特征划分; • 描述文献外部特征的检索语言:书名、刊名、篇名等著者名。...

    Delphi5开发人员指南

    9.11 在不同的进程间共享DLL数据 256 9.11.1 一个可以被共享数据的DLL 256 9.11.2 访问DLL中的共享数据 259 9.12 引出DLL中的对象 261 9.13 总结 265 第10章 Delphi 5的打印 266 10.1 TPrinter对象 266 10.2 ...

    Advanced Bash-Scripting Guide <>

    wh,whois 节点名字查询 4-7. 使用shift 5-1. echo 一些诡异的变量 5-2. 转义符 6-1. exit/exit 状态 6-2. 否定一个条件使用! 7-1. 什么情况下为真? 7-2. 几个等效命令test,/usr/bin/test,[],和/usr/bin/[ 7-3. 算数...

    汇编指令(chm格式)

    以上八种移位指令,其移位次数可达255次. 移位一次时, 可直接用操作码. 如 SHL AX,1. 移位&gt;1次时, 则由寄存器CL给出移位次数. 如 MOV CL,04 SHL AX,CL 四、串指令 ──────────────────...

    uboott移植实验手册及技术文档

    nand_init()函数在两个文件中实现。其调用与 CFG_NAND_LEGACY 宏有 关,如果没有定义这个宏,系统调用 drivers/nand/nand.c 中的 nand_init();否则调用自己在 本文件中的 nand_init()函数,本例使用后者。fs2410.c...

Global site tag (gtag.js) - Google Analytics