我希望能够取消任意查询结果。
要手动取消透视表,我可以这样做:
select value_type, value from ( ( -- query to be unpivoted -- EG: select col1, col2, col3, col4, col5 from table ) unpivot ( -- Line I would like to change value for value_type in (col1, col2, col3, col4, col5) ) );
这适用于所有返回5列(称为col1, col2等等)的查询。我是否要放入其中而不是value for value_type in (col1, col2, col3, col4, col5)从第一部分中选择的查询/视图/表中获取所有列名的东西?
col1, col2
value for value_type in (col1, col2, col3, col4, col5)
您可以创建存储过程以在PL / SQL中执行此操作,方法是将SQL语句动态创建为字符串,然后execute immediate用于执行它并返回游标。
execute immediate