目标:计算各种类型的数目declare cursor zdzCur is select distinct zdz from mw_app.PM_NW_FS_ZDDPJZZZ;
zdz1 varchar(16);
beginif zdzCur%isopen = false then
open zdzCur;
end if;
fetch zdzCur into zdz1;while zdzCur%found
loop
select count(*) from mw_app.PM_NW_FS_ZDDPJZZZ t where t.zdz = zdz1;
fetch zdzCur into zdz1;
end loop;
commit;
close zdzCur;
end;
zdz1 varchar(16);
beginif zdzCur%isopen = false then
open zdzCur;
end if;
fetch zdzCur into zdz1;while zdzCur%found
loop
select count(*) from mw_app.PM_NW_FS_ZDDPJZZZ t where t.zdz = zdz1;
fetch zdzCur into zdz1;
end loop;
commit;
close zdzCur;
end;
解决方案 »
- 写一条sql语句、要求简洁并效率高。
- Oracle用户、模式以及模式对象的关系
- 求一个完整的SQL和PL/SQL关键字列表和对应的解释
- 救命救命! PL\sql 中如何调用或者执行一个sql文件,或者dos命令?
- 急求解决办法,谢谢,就10分了
- 一个统计报表的写法,请大家指教
- 请问sql的select语句如何显示最后的10条记录?
- 我在ORACLE恢復時出錯(高分等待回答)
- 倾家荡产,只为寻求一答案?
- TNS:listener failed to start a dedicated server process,怎么解决(在线等待,谢谢)
- 查询2006年上半年每月工资都在前20的员工的姓名的SQL语句
- 多选框在数据库中的实现问题..
不是一条sql语句就能实现的吗?
select count(*) from mw_app.PM_NW_FS_ZDDPJZZZ group by zdz如果你需要用这个来做的话,
那就这样好了:
declare
cursor zdzCur is Select distinct zdz from mw_app.PM_NW_FS_ZDDPJZZZ ;
zdz1 varchar(16);
v_Count number;
begin
open zdzCur;
fetch zdzCur into zdz1;
while zdzCur%Found Loop
Select count(*) into v_Count From mw_app.PM_NW_FS_ZDDPJZZZ t
Where t.zdz = zdz1;
fetch zdzCur into zdz1;
end loop;
if zdzCur%isOpen then
close zdzCur;
end if;
end;也不知道你的commit用来做什么的?