在Oracle中,想通过查询语句得出结果集,获得该结果集的表头。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Oracle中,想通过查询语句得出结果集,获得该结果集的表头。相关的知识,希望对你有一定的参考价值。
如语句:select u_account,state.sum(render_money) sum_money,count(render_money) count_money from table t group by u_account,state order by u_account
得到的结果集,现在想获得表头字段名称。
select * from user_tab_columns where table_name = your_table_name
用存储过程把纵向的列名转为横向的列名串,然后与数据合起来,这一步自己想了 参考技术A select u_account,state.sum(render_money) sum_money,count(render_money) count_money from table t where 1=0 group by u_account,state order by u_account追问
我不是想获得没有数据的表头,想获得带有表头字段名称的查询结果集,或者从查询结果集中获得表头字段名称
追答字段名你不是都写的了吗
追问这是个例子...查询语句是动态生成的...因此字段名都是不确定的,想获得字段名
追答你想在客户端,还是服务端,何种方式读取?
参考技术B 这个你可以自己用union all并一个表头呀,直接跟结果集一起不就OK了吗,其它方式我还没尝试过,如果你有好的方法给我借鉴下,呵呵。追问并一个表头?那表头怎么获得?
追答这个有点困难,如果是表里面的列或视图的列还可以根据数据字典来查,但有自定义列就不行了,目前我还没想到有什么方法来取,如果是java里面取表头是有方法的。
oracle 存储过程中 如果用if语句判断一条查询语句的结果集是不是为空
oracle 存储过程中 如果用if语句判断一条查询语句的结果集是否为空。
希望的效果是:判断If (查询结果为空),then 创建一条记录。
create table test1023(id int); --创建测试表 test1023
declare cnt int;
begin
select count(*) into cnt from test1023;
if cnt=0 then
insert into test1023 values('1');
commit;
end if;
end;本回答被提问者采纳
以上是关于在Oracle中,想通过查询语句得出结果集,获得该结果集的表头。的主要内容,如果未能解决你的问题,请参考以下文章
oracle 存储过程中 如果用if语句判断一条查询语句的结果集是不是为空
oracle数据库,通过plsql developer查询出的多个结果集,怎么对结果集重新命名