新手做需求没有思路,请老师指导!

和平战马 2013-10-10 03:55:38
需求实现要实现的功能是主表关联其他表或者文件,然后提取到相关字段,最后生成文件入库
TABLE1:定义目标表,数据来源主表
TABLE2:定义目标字段等
TABLE3:目标表字段从那些数据源表中提取到
TABLE4:目标表字段从那些文件中提取到

由于能力有限,请老师指导如何实现!
以前只使用过STRUCT机构存储一行记录,然后把所有的数据存储到VECTOR容器中,但STRUCT的结构都是固定的;现在需求要实现动态,即STRUCT机构都不是固定,而是要从配置表读取。

TABLE1:
SUM_ID SUM_NAME SOURCE_PRI_TAB_NAME PRI_FIELD_NAME
宽表_ID 宽表 主表名 Key字段名
1 TA_SUMM_BUSI TB_USER_ALL SERV_ID|ACC_NBR

TABLE2:
SUM_ID FIELD_SEQ DEST_TAB_FIELD DEST_TAB_FIELD_NAME FIELD_DATA_TYPE
宽表_ID 字段排序 字段 字段名称 字段类型
1 1 SERV_GRP_TYPE 服务分群 VARCHAR2(6)
1 2 CITY_VILLAGE_ID 城乡标识 NUMBER(1)
1 3 UNR_CALL_LOCAL_TIMES 非漫游主叫本地通话次数 NUMBER(10)
1 4 UNR_CALL_DOME_TIMES 非漫游主叫国内通话次数 NUMBER(10)
1 5 TERMINAL_ID 终端类型 NUMBER(10)
1 6 UNR_CALLED_TIMES 非漫游被叫通话次数 NUMBER(10)

TABLE3:
SUM_ID FIELD_SEQ SOURCE_TABLE SOURCE_FIELD PRI_FIELD_NAME
宽表_ID 字段排序 数据源表 源字段 Key字段名
1 1 TB_USER_ALL SERV_GRP_TYPE
1 2 TB_USER_ALL CITY_VILLAGE_ID
1 3 LAB_BUSI_CNET UNR_CALL_LOCAL_TIMES SERV_ID:SERV_ID
1 4 LAB_BUSI_CNET UNR_CALL_DOME_TIMES SERV_ID:SERV_ID

TABLE4:
SUM_ID FIELD_SEQ SOURCE_FILE SOURCE_FIELD_SEQ FIELD_DELIMITER PRI_FIELD_NAME
宽表_ID 字段排序 数据源文件 源字段序号 分隔符 Key字段名
1 5 TEST.DAT 2 | ACC_NBR:1
1 6 TEST.DAT 5 | ACC_NBR:1
...全文
93 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
和平战马 2013-10-10
  • 打赏
  • 举报
回复
你的意思是在数据库中实现,是吧!但需求要用C++实现。 [quote=引用 1 楼 turingo 的回复:] 直接用SQLite吧,没必要重复造轮子。 [quote=引用 楼主 zhan_horse 的回复:] 需求实现要实现的功能是主表关联其他表或者文件,然后提取到相关字段,最后生成文件入库 TABLE1:定义目标表,数据来源主表 TABLE2:定义目标字段等 TABLE3:目标表字段从那些数据源表中提取到 TABLE4:目标表字段从那些文件中提取到 由于能力有限,请老师指导如何实现! 以前只使用过STRUCT机构存储一行记录,然后把所有的数据存储到VECTOR容器中,但STRUCT的结构都是固定的;现在需求要实现动态,即STRUCT机构都不是固定,而是要从配置表读取。 TABLE1: SUM_ID SUM_NAME SOURCE_PRI_TAB_NAME PRI_FIELD_NAME 宽表_ID 宽表 主表名 Key字段名 1 TA_SUMM_BUSI TB_USER_ALL SERV_ID|ACC_NBR TABLE2: SUM_ID FIELD_SEQ DEST_TAB_FIELD DEST_TAB_FIELD_NAME FIELD_DATA_TYPE 宽表_ID 字段排序 字段 字段名称 字段类型 1 1 SERV_GRP_TYPE 服务分群 VARCHAR2(6) 1 2 CITY_VILLAGE_ID 城乡标识 NUMBER(1) 1 3 UNR_CALL_LOCAL_TIMES 非漫游主叫本地通话次数 NUMBER(10) 1 4 UNR_CALL_DOME_TIMES 非漫游主叫国内通话次数 NUMBER(10) 1 5 TERMINAL_ID 终端类型 NUMBER(10) 1 6 UNR_CALLED_TIMES 非漫游被叫通话次数 NUMBER(10) TABLE3: SUM_ID FIELD_SEQ SOURCE_TABLE SOURCE_FIELD PRI_FIELD_NAME 宽表_ID 字段排序 数据源表 源字段 Key字段名 1 1 TB_USER_ALL SERV_GRP_TYPE 1 2 TB_USER_ALL CITY_VILLAGE_ID 1 3 LAB_BUSI_CNET UNR_CALL_LOCAL_TIMES SERV_ID:SERV_ID 1 4 LAB_BUSI_CNET UNR_CALL_DOME_TIMES SERV_ID:SERV_ID TABLE4: SUM_ID FIELD_SEQ SOURCE_FILE SOURCE_FIELD_SEQ FIELD_DELIMITER PRI_FIELD_NAME 宽表_ID 字段排序 数据源文件 源字段序号 分隔符 Key字段名 1 5 TEST.DAT 2 | ACC_NBR:1 1 6 TEST.DAT 5 | ACC_NBR:1
图灵狗 2013-10-10
  • 打赏
  • 举报
回复
直接用SQLite吧,没必要重复造轮子。
引用 楼主 zhan_horse 的回复:
需求实现要实现的功能是主表关联其他表或者文件,然后提取到相关字段,最后生成文件入库 TABLE1:定义目标表,数据来源主表 TABLE2:定义目标字段等 TABLE3:目标表字段从那些数据源表中提取到 TABLE4:目标表字段从那些文件中提取到 由于能力有限,请老师指导如何实现! 以前只使用过STRUCT机构存储一行记录,然后把所有的数据存储到VECTOR容器中,但STRUCT的结构都是固定的;现在需求要实现动态,即STRUCT机构都不是固定,而是要从配置表读取。 TABLE1: SUM_ID SUM_NAME SOURCE_PRI_TAB_NAME PRI_FIELD_NAME 宽表_ID 宽表 主表名 Key字段名 1 TA_SUMM_BUSI TB_USER_ALL SERV_ID|ACC_NBR TABLE2: SUM_ID FIELD_SEQ DEST_TAB_FIELD DEST_TAB_FIELD_NAME FIELD_DATA_TYPE 宽表_ID 字段排序 字段 字段名称 字段类型 1 1 SERV_GRP_TYPE 服务分群 VARCHAR2(6) 1 2 CITY_VILLAGE_ID 城乡标识 NUMBER(1) 1 3 UNR_CALL_LOCAL_TIMES 非漫游主叫本地通话次数 NUMBER(10) 1 4 UNR_CALL_DOME_TIMES 非漫游主叫国内通话次数 NUMBER(10) 1 5 TERMINAL_ID 终端类型 NUMBER(10) 1 6 UNR_CALLED_TIMES 非漫游被叫通话次数 NUMBER(10) TABLE3: SUM_ID FIELD_SEQ SOURCE_TABLE SOURCE_FIELD PRI_FIELD_NAME 宽表_ID 字段排序 数据源表 源字段 Key字段名 1 1 TB_USER_ALL SERV_GRP_TYPE 1 2 TB_USER_ALL CITY_VILLAGE_ID 1 3 LAB_BUSI_CNET UNR_CALL_LOCAL_TIMES SERV_ID:SERV_ID 1 4 LAB_BUSI_CNET UNR_CALL_DOME_TIMES SERV_ID:SERV_ID TABLE4: SUM_ID FIELD_SEQ SOURCE_FILE SOURCE_FIELD_SEQ FIELD_DELIMITER PRI_FIELD_NAME 宽表_ID 字段排序 数据源文件 源字段序号 分隔符 Key字段名 1 5 TEST.DAT 2 | ACC_NBR:1 1 6 TEST.DAT 5 | ACC_NBR:1

64,647

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧