[发明专利]一种SQL查询结果列名及编码自动转换方法有效
申请号: | 201711260417.1 | 申请日: | 2017-12-04 |
公开(公告)号: | CN107943995B | 公开(公告)日: | 2022-03-08 |
发明(设计)人: | 邹波;李刚;刘东;何国军;侯兴哲;吴彬;何蓓;胡晓锐;骆凯波 | 申请(专利权)人: | 国网重庆市电力公司电力科学研究院;国网重庆市电力公司;国家电网公司 |
主分类号: | G06F16/248 | 分类号: | G06F16/248;G06F16/28 |
代理公司: | 北京众合诚成知识产权代理有限公司 11246 | 代理人: | 胡柯 |
地址: | 401123 重庆市渝北*** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 sql 查询 结果 编码 自动 转换 方法 | ||
1.一种SQL查询结果列名及编码自动转换方法,其特征在于,所述方法步骤如下:
S101:配置源表列展现元数据;
S102:获取SQL查询结果列与源表列的对应关系;
S103:对SQL查询语句进行改写;
所述步骤S102处理流程如下:
S201:创建SQL查询语句对应的视图;
S202:创建数据表及字段依赖视图;
S203:获得视图依赖的源表及字段信息;
S204:创建源表对应的替代表;
S205:将SQL查询语句中的源表表名替换为替代表表名;
S206:创建替换后SQL语句对应的视图;
S207:获得SQL结果字段与源表字段的对应关系。
2.如权利要求1所述的SQL查询结果列名及编码自动转换方法,其特征在于,所述步骤S101中元数据包括:基础业务系统数据库模型设计中,数据查询可能涉及的源表名、列名、列展示名、编码字段对应的编码转换视图的源表列展现元数据信息。
3.如权利要求2所述的SQL查询结果列名及编码自动转换方法,其特征在于,所述编码转换视图是指包含编码值、编码名称两个字段的数据库简单视图。
4.如权利要求1所述的SQL查询结果列名及编码自动转换方法,其特征在于,所述配置源 表列展现元数据的属性包括表名、列名、列展示名、编码字段标志、编码转换视图。
5.如权利要求1所述的SQL查询结果列名及编码自动转换方法,其特征在于,步骤S204中的处理流程如下:通过查询Oracle数据库系统视图USER_TAB_COLUMNS,获得SQL查询语句对应的视图依赖的源表字段中字段数据长度的最大值v_ref_col_max_len;创建源表对应的替代表。
6.如权利要求5所述的SQL查询结果列名及编码自动转换方法,其特征在于,替代表的表名宜在源表名的基础上增加后缀_bak,替代表列的数据类型统一为VARCHAR2类型,字段长度从v_ref_col_max_len+1开始,依次增加,步长为1,以确保字段长度的全局唯一性。
7.如权利要求1所述的SQL查询结果列名及编码自动转换方法,其特征在于,步骤S207中的处理流程如下:通过查询Oracle数据库系统视图USER_TAB_COLUMNS中的字段长度data_length属性,找到替换后SQL语句对应的视图结果列与替代表列的对应关系,从而间接得到SQL结果字段与源表字段的对应关系。
8.如权利要求1所述的SQL查询结果列名及编码自动转换方法,其特征在于,所述步骤S103处理流程如下:找到SQL结果字段与源表字段的对应关系,明确SQL结果字段展现名以及编码字段转换视图的基础上,分别使用列别名AS语句、decode函数或者case when语句,完成列展示名及编码数据内容的转换。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国网重庆市电力公司电力科学研究院;国网重庆市电力公司;国家电网公司,未经国网重庆市电力公司电力科学研究院;国网重庆市电力公司;国家电网公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711260417.1/1.html,转载请声明来源钻瓜专利网。