用存储过程实现旋转表

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

1 功能说明

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

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

2 旋转效果

旋转前

clip_image002[4]

旋转后

clip_image004[4]

3 实现 3.1 创建存储过程

存储过程名称:test_table_roll

3.2 测试

测试表为:test_table,截图:

clip_image006[4]

脚本:

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里执行这条语句,截图:

clip_image008[4]

这样就实现了表的旋转。

你可能感兴趣的:(style,职场,休闲,blank)