一条sql可能是解决不了,楼主是用来作什么啊
解决方案 »
- BLOB读取怎样优化?
- 送分:求一简单SQL语句
- 请教:ORACLE数据库意外删除,起数据恢复方法
- oracle数据,日期型数据,将时间推前6小时的语句怎样写
- SQL Plus修改的参数是对整个数据库有效还是只对客户端有效。
- 各位请帮下书忙:我的oracle中的OracleOraDb10g_home1TNSListener服务启动不了
- select to_char(999,'0000') from dual问题
- 如何设置ORACLE数据库的编码(ZHS16GBK)修改成UTF-8
- 急,如何统计数据库中表的使用频率!
- 帮忙啊!如何用orcale的存储过程作为数据窗口的数据源.
- 请教Oracle9i在solaris下的安装
- !!!oralce 和sql server 问题:高手关注---!!!
我急着用!!我知道一条sql 语句是不行!
或者动态创建视图。两者的原理都是一样的,通过动态的创建sql语句来解决。
cursor c_a is select * from a;
v_sql varchar2(2000);
i number;
begin
v_sql:='create or replace view v_name as select t_spc,t_cxh,';
for c_temp in c_a loop
v_sql:=v_sql||'sum(decode(t_dm,'''||c_temp.t_dm||''',1,0)) '||c_temp.t_dj||'
end loop;
v_sql:=substr(v_sql,1,length(v_sql)-1)||' from b group by t_spc,t_cxh';
execute immediate v_sql;
end proc_demo;
/
select * from v_name;
. ( * @ % & = - + ; < / >
at in is mod not rem <an exponent (**)> <> or != or ~= >= <=
<> and or like between ||
cursor c_a is select * from a;
v_sql varchar2(2000);
i number;
begin
v_sql:='create or replace view v_name as select t_spc,t_cxh,';
for c_temp in c_a loop
v_sql:=v_sql||'sum(decode(t_dm,'''||c_temp.t_dm||''',1,0)) '||c_temp.t_dj||','
end loop;
v_sql:=substr(v_sql,1,length(v_sql)-1)||' from b group by t_spc,t_cxh';
execute immediate v_sql;
end proc_demo;
/
exec proc_demo;
select * from v_name;
ORA-06512: 在"LRY.PROC_DEMO", line 11
ORA-06512: 在line 2问以下 for c_temp in c_a loop 中的 c_temp 没有定义可以吗!!
还有
(t_dm,'''||c_temp.t_dm||''',1,0)) '||c_temp.t_dj||',' 这个地方是不是应该加 ";"号~
要不然运行出错!
connect system/manager
grant create any view to username;