为适应神码在国税行业数据应用平台的研发,需要在决策分析系统中加入一些对统计表的特殊处理,初步的旋转表功能实现如下。

1 功能说明

写一个存储过程,传入参数为(表名称,列名称,新列名称,列条件),返回一个SQL语句,查询这个语句可以实现表翻转的效果。

复杂的条件,如我只想转几列,输入条件

2 旋转效果

旋转前

用存储过程实现旋转表_blank

旋转后

用存储过程实现旋转表_blank_02

3 实现 3.1 创建存储过程

存储过程名称:test_table_roll

3.2 测试

测试表为:test_table,截图:

用存储过程实现旋转表_休闲_03

脚本:

begin

test_table_roll('TEST_TABLE','A','BN','B!=5');

end;

执行后输出:

select 'A' BN,'x' x,'z' z from dual union select 'A' A,'x','z' from dual union select 'B' B,'1','9' from dual union select 'C' C,'2','10' from dual union select 'D' D,'3','11' from dual union select 'E' E,'4','12' from dual

在SQL里执行这条语句,截图:

用存储过程实现旋转表_style_04

这样就实现了表的旋转。