[发明专利]一种SQL查询结果列名及编码自动转换方法有效
申请号: | 201711260417.1 | 申请日: | 2017-12-04 |
公开(公告)号: | CN107943995B | 公开(公告)日: | 2022-03-08 |
发明(设计)人: | 邹波;李刚;刘东;何国军;侯兴哲;吴彬;何蓓;胡晓锐;骆凯波 | 申请(专利权)人: | 国网重庆市电力公司电力科学研究院;国网重庆市电力公司;国家电网公司 |
主分类号: | G06F16/248 | 分类号: | G06F16/248;G06F16/28 |
代理公司: | 北京众合诚成知识产权代理有限公司 11246 | 代理人: | 胡柯 |
地址: | 401123 重庆市渝北*** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 sql 查询 结果 编码 自动 转换 方法 | ||
本发明公开了一种SQL查询结果列名及编码自动转换方法,它包括S101:配置源表列展现元数据;S102:获取SQL查询结果列与源表列的对应关系;S103:对SQL查询语句进行改写。本发明取得的有益效果是:整个SQL处理过程中无须人工干预,改变了传统数据可视化针对列展示名和编码转换的硬编码工作模式,减轻了程序开发人员的工作量,避免了转换过程中的人为差错,最终提高了数据可视化的工作效率和工作质量。
技术领域
本发明涉及数据库技术领域,特别是一种SQL查询结果列名及编码自动转换方法。
背景技术
Oracle数据库是一款关系型数据库管理系统,采用SQL(Structured QueryLanguage,结构化查询语言)管理数据。在数据可视化方面,业界重点关注SQL查询结果展示列名、编码字段转换规则等元数据信息,用于查询结果数据的友好展现。
在预设固定场景下的查询,通常采用预先硬编码或者配置表的方式实现结果列名和编码数据内容的转换,此类方法编码或配置工作量较大且灵活度不高。在自定义动态场景下的查询,一般采用在线硬编码的方式实现结果列名和编码数据内容的转换,此类方法需要使用者熟知数据库模型,应用存在一定的局限性。
针对相关技术中的问题,目前尚未提出有效的解决方案。
发明内容
有鉴于现有技术的上述缺陷,本发明的目的就是提供一种SQL查询结果列名及编码自动转换方法,能够改变了传统数据可视化针对列展示名和编码转换的硬编码工作模式,减轻了程序开发人员的工作量,避免了转换过程中的人为差错,最终提高了数据可视化的工作效率和工作质量。
本发明的目的是通过这样的技术方案实现的,一种SQL查询结果列名及编码自动转换方法,它包括有:所述方法步骤如下:
S101:配置源表列展现元数据;
S102:获取SQL查询结果列与源表列的对应关系;
S103:对SQL查询语句进行改写。
进一步,所述步骤S102处理流程如下:
S201:创建SQL查询语句对应的视图;
S202:创建数据表及字段依赖视图;
S203:获得视图依赖的源表及字段信息;
S204:创建源表对应的替代表;
S205:将SQL查询语句中的源表表名替换为替代表表名;
S206:创建替换后SQL语句对应的视图;
S207:获得SQL结果字段与源表字段的对应关系。
进一步,所述步骤S101中元数据包括:基础业务系统数据库模型设计中,数据查询可能涉及的源表名、列名、列展示名、编码字段对应的编码转换视图的源表列展现元数据信息。
进一步,所述编码转换视图是指包含编码值、编码名称两个字段的数据库简单视图。
进一步,所述配置表列展现元数据的属性包括表名、列名、列展示名、编码字段标志、编码转换视图。
进一步,步骤S204中的处理流程如下:通过查询Oracle数据库系统视图USER_TAB_COLUMNS,获得SQL查询语句对应的视图依赖的源表字段中字段数据长度的最大值v_ref_col_max_len;创建源表对应的替代表。
进一步,替代表的表名宜在源表名的基础上增加后缀_bak,替代表列的数据类型统一为VARCHAR2类型,字段长度从v_ref_col_max_len+1开始,依次增加,步长为1,以确保字段长度的全局唯一性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国网重庆市电力公司电力科学研究院;国网重庆市电力公司;国家电网公司,未经国网重庆市电力公司电力科学研究院;国网重庆市电力公司;国家电网公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711260417.1/2.html,转载请声明来源钻瓜专利网。