create table T_TEST
(
CITY VARCHAR2(255) not null,
YEAR NUMBER(4) not null,
MONTH NUMBER(2) not null,
SELL_AMOUNT NUMBER(26,2)
)
comment on table T_TEST
is '各月世联在主要核心城市的销售金额';
comment on column T_TEST.CITY
is '城市';
comment on column T_TEST.SELL_AMOUNT
is '比如0.42代表42%';
insert into T_TEST (CITY, YEAR, MONTH, SELL_AMOUNT)
values ('深圳', 2010, 5, 1.2);
insert into T_TEST (CITY, YEAR, MONTH, SELL_AMOUNT)
values ('东莞', 2010, 5, .8);
insert into T_TEST (CITY, YEAR, MONTH, SELL_AMOUNT)
values ('佛山', 2010, 5, .9);
insert into T_TEST (CITY, YEAR, MONTH, SELL_AMOUNT)
values ('汕头', 2010, 5, .22);
insert into T_TEST (CITY, YEAR, MONTH, SELL_AMOUNT)
values ('长沙', 2010, 5, .28);
insert into T_TEST (CITY, YEAR, MONTH, SELL_AMOUNT)
values ('深圳', 2010, 4, 1.1);
insert into T_TEST (CITY, YEAR, MONTH, SELL_AMOUNT)
values ('东莞', 2010, 4, .8);
insert into T_TEST (CITY, YEAR, MONTH, SELL_AMOUNT)
values ('佛山', 2010, 4, .9);
insert into T_TEST (CITY, YEAR, MONTH, SELL_AMOUNT)
values ('广州', 2010, 4, .67);
insert into T_TEST (CITY, YEAR, MONTH, SELL_AMOUNT)
values ('汕头', 2010, 4, .22);
insert into T_TEST (CITY, YEAR, MONTH, SELL_AMOUNT)
values ('长沙', 2010, 4, .28);
insert into T_TEST (CITY, YEAR, MONTH, SELL_AMOUNT)
values ('深圳', 2010, 3, .9);
insert into T_TEST (CITY, YEAR, MONTH, SELL_AMOUNT)
values ('佛山', 2010, 3, .9);
insert into T_TEST (CITY, YEAR, MONTH, SELL_AMOUNT)
values ('广州', 2010, 3, .67);
insert into T_TEST (CITY, YEAR, MONTH, SELL_AMOUNT)
values ('汕头', 2010, 3, .22);
insert into T_TEST (CITY, YEAR, MONTH, SELL_AMOUNT)
values ('长沙', 2010, 3, .28);
commit;
---存储过程生成行转列sql语句
create or replace procedure P_test1 is
cursor csr is
select distinct (city) from t_test;
tmp_km varchar2(400);
str varchar2(4000);
begin
/*select t.year||t.month,
sum(decode(t.city, '深圳',t.sell_amount,0)) 深圳 ,
sum(decode(t.city, '佛山',t.sell_amount,0)) 佛山,
sum(decode(t.city, '东莞',t.sell_amount,0)) 东莞
from t_test t
group by t.month,t.year
*/
str := 'select t.year||t.month ';
open csr;
loop fetch csr into tmp_km;
exit when csr%notfound;
str := str || ',sum(decode(t.city, ' || chr(39) || tmp_km || chr(39) ||
',t.sell_amount,0)) ' || tmp_km;
end loop;
str := str || ' from t_test t group by t.month,t.year';
dbms_output.put_line(str);
execute immediate str;
end P_test1;
//生成集合
create or replace procedure P_test1(p_Year NUMBER,p_Cursor OUT SYS_REFCURSOR) is
cursor csr is
select distinct (city) from t_test;
tmp_km varchar2(400);
str varchar2(4000);
begin
/*select t.year||t.month,
sum(decode(t.city, '深圳',t.sell_amount,0)) 深圳 ,
sum(decode(t.city, '佛山',t.sell_amount,0)) 佛山,
sum(decode(t.city, '东莞',t.sell_amount,0)) 东莞
from t_test t
group by t.month,t.year
*/
str := 'select t.year||t.month ';
open csr;
loop fetch csr into tmp_km;
exit when csr%notfound;
str := str || ',sum(decode(t.city, ' || chr(39) || tmp_km || chr(39) ||
',t.sell_amount,0)) ' || tmp_km;
end loop;
str := str || ' from t_test t where t.year='||p_Year||' group by t.month,t.year';
dbms_output.put_line(str);
open p_Cursor for str;
exception
when others then
Dbms_Output.Put_Line('error');
close p_Cursor;
end P_test1;
分享到:
相关推荐
数据查询语言 (Data Query Language, DQL) 是SQL语言中,负责进行数据查询而不会对数据本身进行修改的语句,这是最基本的SQL语句。例如:SELECT(查询) 数据控制语言Data Controlling Language(DCL),用来...
Oracle、微软的数据库之所以能长久不衰,一方面在于其强大的技术开发和产品升级迭代能力,另一方面在于其对数据库的Knowhow理解足够深,这个是其他厂商短期难以超越的。华为在数据库领域逐步取得新的突破。2019年...
第1章 窗体与界面设计 1 1.1 菜单应用实例 2 实例001 带历史信息的菜单 2 实例002 菜单动态合并 3 实例003 像开始菜单一样漂亮的菜单 4 实例004 任务栏托盘菜单 5 实例005 可以拉伸...
实例002 菜单动态合并 3 实例003 像开始菜单一样漂亮的菜单 4 实例004 任务栏托盘菜单 4 实例005 可以拉伸的菜单界面 5 实例006 级联菜单 6 1.2 工具栏设计 6 实例007 带背景的工具栏 7 实例008 浮动工具栏 7...
实例002 菜单动态合并 3 实例003 像开始菜单一样漂亮的菜单 4 实例004 任务栏托盘菜单 4 实例005 可以拉伸的菜单界面 5 实例006 级联菜单 6 1.2 工具栏设计 6 实例007 带背景的工具栏 7 实例008 浮动工具栏 7...
实例002 菜单动态合并 3 实例003 像开始菜单一样漂亮的菜单 4 实例004 任务栏托盘菜单 4 实例005 可以拉伸的菜单界面 5 实例006 级联菜单 6 1.2 工具栏设计 6 实例007 带背景的工具栏 7 实例008 浮动工具栏 7...
实例002 菜单动态合并 3 实例003 像开始菜单一样漂亮的菜单 4 实例004 任务栏托盘菜单 4 实例005 可以拉伸的菜单界面 5 实例006 级联菜单 6 1.2 工具栏设计 6 实例007 带背景的工具栏 7 实例008 浮动工具栏 7...
实例234 利用SQL语句执行外围命令 第9章 SQL查询相关技术 9.1 通用查询 实例235 SQL语句的应用方法 实例236 SQL语句的模糊查询 实例237 利用查询语句复制表结构 9.2 查询控件 实例238 查询指定控件内字符串...
实例234 利用SQL语句执行外围命令 第9章 SQL查询相关技术 9.1 通用查询 实例235 SQL语句的应用方法 实例236 SQL语句的模糊查询 实例237 利用查询语句复制表结构 9.2 查询控件 实例238 查询指定控件内字符串...
cc实例234 利用SQL语句执行外围命令 第9章 SQL查询相关技术 9.1 通用查询 cc实例235 SQL语句的应用方法 cc实例236 SQL语句的模糊查询 cc实例237 利用查询语句复制表结构 9.2 查询...
cc实例234 利用SQL语句执行外围命令 第9章 SQL查询相关技术 9.1 通用查询 cc实例235 SQL语句的应用方法 cc实例236 SQL语句的模糊查询 cc实例237 利用查询语句复制表结构 9.2 查询...