oracle输出多行多列数据
--方法一 匿名块中直接 dbms_output输出
declare
v_sql varchar2(200);
v_cursor sys_refcursor;
type v_type is record(
n1 varchar2(30));
v_rows v_type;
begin
v_sql := ' select substr(tax_organ_name,1,2) from sk_tax_organ n where n.up_tax_organ=''cde5a0d73628497d84592c49be670ca5'' order by n.tax_organ_code asc';
open v_cursor for v_sql;
for i in 1 .. 36 loop
fetch v_cursor
into v_rows;
dbms_output.put_line('1000' || to_char(i) || '0001' || v_rows.n1 || '国税' ||
chr(10) || '1000' || to_char(i) || '0002' ||
v_rows.n1 || '地税');
end loop;
close v_cursor;
end;
/*
100010001北京国税
100010002北京地税
*/
--方法二 存储过程中 游标输出结果集
create or replace procedure zxrs_hz (v_kssj varchar2,v_zzsj varchar2,v_jgbs varchar2,v_yyid varchar2,v_nfyfsj varchar2,my_cur out sys_refcursor)
is
my_sql varchar2(20000);
my_errmsg varchar2(50);
begin
if v_nfyfsj='year' then
my_sql:='SELECT SUM(A.YY_ZXRS) AS "num", A.yym ,A.ZFWM, to_char(create_date,''yyyy'')||''年'' TIMEQ, B.APPLYNAME AS "yyname" FROM T_ZXRS_LOG_'||v_jgbs||' A INNER JOIN T_MAPPING_ADDRESS b ON b. ID = A.yym where create_date >=
to_date('''||v_kssj||''', ''yyyy-mm-dd hh24:mi:ss'') and create_date <=
to_date('''||v_zzsj||''', ''yyyy-mm-dd hh24:mi:ss'') and a.yym in ('||v_yyid||') GROUP BY a.yym, a.ZFWM, B.APPLYNAME,to_char(create_date,''yyyy'')';
open my_cur for my_sql;
elsif v_nfyfsj='month' then
my_sql:='SELECT SUM(A.YY_ZXRS) AS "num", A.yym ,A.ZFWM, to_char(create_date,''yyyy'')||''年''||to_char(create_date,''mm'')||''月'' TIMEQ, B.APPLYNAME AS "yyname" FROM T_ZXRS_LOG_'||v_jgbs||' A INNER JOIN T_MAPPING_ADDRESS b ON b. ID = A.yym where create_date >=
to_date('''||v_kssj||''', ''yyyy-mm-dd hh24:mi:ss'') and create_date <=
to_date('''||v_zzsj||''', ''yyyy-mm-dd hh24:mi:ss'') and a.yym in ('||v_yyid||') GROUP BY a.yym, a.ZFWM, B.APPLYNAME,to_char(create_date,''yyyy'')||''年''||to_char(create_date,''mm'')||''月''';
open my_cur for my_sql;
elsif v_nfyfsj='day' then
my_sql:='SELECT SUM(A.YY_ZXRS) AS "num", A.yym ,A.ZFWM, to_char(create_date,''yyyy'')||''年''||to_char(create_date,''mm'')||''月''||to_char(create_date,''dd'')||''日'' TIMEQ, B.APPLYNAME AS "yyname" FROM T_ZXRS_LOG_'||v_jgbs||' A INNER JOIN T_MAPPING_ADDRESS b ON b. ID = A.yym where create_date >=
to_date('''||v_kssj||''', ''yyyy-mm-dd hh24:mi:ss'') and create_date <=
to_date('''||v_zzsj||''', ''yyyy-mm-dd hh24:mi:ss'') and a.yym in ('||v_yyid||') GROUP BY a.yym, a.ZFWM, B.APPLYNAME,to_char(create_date,''yyyy'')||''年''||to_char(create_date,''mm'')||''月''||to_char(create_date,''dd'')||''日''';
open my_cur for my_sql;
end if;
exception when others then
my_errmsg:=sqlcode;
end;
/*
0 160 1000010001 2014年 测试1
0 160 1000010001 2015年 测试1
162 160 1000010001 2016年 测试1
26 161 1000010001 2016年 测试2
*/
oracle输出多行多列数据的更多相关文章
- FPGA计算3行同列数据之和
实验:FPGA计算3行同列数据之和 实验要求:PC机通过串口发送3行数据(一行有56个数据,3行共有56*3=168个数据)给FPGA,FPGA计算3行同一列数据的和,并将结果通过串口返回给上位机. ...
- Python学习随笔:使用xlwings设置和操作excel多行多列数据以及设置数据字体颜色填充色对齐方式的方法
☞ ░ 前往老猿Python博文目录 ░ 在前面老猿的文章中,<Python学习随笔:使用xlwings读取和操作Excel文件>.<Python学习随笔:使用xlwings读取和操 ...
- Excel 一张表最多能装下多少行多少列数据?
一个工作簿可以装下255张,那么每张工作表可以装下多少行多少列数据呢? 1.任意打开或新建一个Excel文档. 2.在文档中,找到其左上角的"文件"按钮,点击选择"选项& ...
- 【面试总结-编程】多行两列数据,实现同key的value求和并输出
一个文件,两列,多行. 第一列是字母,第二列是数字,同列数据之间通过空格分割. 统计首列字母相同的第二列之和. 样例输入: A 5 B 6 OO 7 A 6 A 2 OO 2 输出: A:13 B:6 ...
- Android Webservices 返回多行多列数据(Dataset)
对于之前从事.net或者java开发人员,习惯了从后台获取网格数据(多行多列DataTable),但转行从事android开发,难免会不习惯 Android调用Webservice时,如果返回值是一个 ...
- oracle中的行转列,列转行
行转列:源表: 方法1:case when select y,sum(case when q=1 then amt end) q1,sum(case when q=2 then amt end) q2 ...
- oracle sql 字段行转列
数据库中原先如图: 现在要吧WHMM行转列: conncect by用于确定列的个数
- easyUI datagrid 多行多列数据渲染异常缓慢原因以及解决方法
原因 最近,在优化之前公司帮联想(外包)做的一个老的后台管理系统,由于项目是基于easy UI框架,页面是后台用jsp实现的,再加上在公司推行前后端分离的实践,大部分项目都基于vue采用前后端分离去实 ...
- mssql sqlserver 不固定行转列数据(动态列)
转自:http://www.maomao365.com/?p=5471 摘要: 下文主要讲述动态行列转换语句,列名会根据行数据的不同, 动态的发生变化 ------------------------ ...
随机推荐
- 用生活例子来解释Java synchronized块
今天满世界的微信小程序的新闻,大家都说对于Android原生程序有构成危险了,我也不想了,以后的事谁知道呢, 我还是好好执行一下今年的计划吧. 项目刚刚上线,最近没啥事,我一直感觉自己的Java基础 ...
- Linux/U-Boot Git Repo
Linux: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git U-Boot: git://git.denx.de/ ...
- Hadoop中java.lang.ClassCastException: partition解决方法
java.lang.ClassCastException: partition.KpiWritable cannot be cast to org.apache.hadoop.io.LongWrita ...
- A Tour of Go If and else
Variables declared inside an if short statement are also available inside any of the else blocks. pa ...
- JavaScript Garden2
Types Equality and Comparisons JavaScript has two different ways of comparing the values of objects ...
- centos中MySQL,VmTools安装,使用及异常
Linux(CentOS)中常用软件安装,使用及异常--MySQL,VmTools 本文主要是为了记录在工作中遇到的常用软件的安装过程,方便以后遇到相同情形时可以快速的查阅.主要讲述了MySQL, V ...
- [ATL/WTL]_[0基础]_[CBitmap复制图片-截取图片-平铺图片]
场景: 1.当你须要截取图片部分区域作为某个控件的背景. 2.须要平铺图片到一个大区域让他自己主动放大时. 3.或者须要合并图片时. 代码: CDC sdc; CDC ddc; sdc.CreateC ...
- 设置tomcat内存
设置Tomcat启动的初始内存其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4. 可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置 三.实例,以下给 ...
- mac上SVN项目管理,提示被锁定的解决方法
问题 mac上SVN项目管理,提示被锁定.不能commit.也不能update.提示 clean the working copy and then. .. 解决方法 watermark/2/text ...
- bootstrap系列整理
去年的九月份做第一版文档站时, 就开始尝试使用bootstrap ,由于当时对node 还一知半解,大部分精力放在nodejs上,bootstrap只是拿来就用,起步文档都没看: 当别人提到 Norm ...