求个安字段统计查询的sql语句,有分

liaopan77 2009-12-04 10:58:25
求个sql语句,表格形式如下:

A表
ID NAME TYPEID
1 n1 1
2 n2 1
3 n3 2
4 n4 1
5 n5 2
6 n6 1
B表
ID CODE
1 type1
2 type2
3 type3
A中的各个类型(TYPEID)字段和B表的ID关联,标示类型

要求:用一个游标返回,
统计表格A中的各个类型的数量有多少,也就是返回这样一个结果集合:
C表:返回的结果集合,经过对A,B表的查询
count typeid typecode
4 1 type1
2 2 type2

请教一个sql,紧急,非常感谢。。
另外,还求个oracle数据库导出表格,存储过程,以及导出触发器之类的方法。
...全文
77 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
小灰狼W 2009-12-05
  • 打赏
  • 举报
回复
动态执行select语句的时候需要将值赋给变量
比如
execute immediate 'select a from table1' into v_a;
这个适用于返回一条记录的时候
返回多条记录的话参考

declare
type v is table of varchar2(20) index by binary_integer;
v_a v;
begin
execute immediate 'select name from largetest where rownum<100' bulk collect into v_a;
for i in 1..v_a.count loop
dbms_output.put_line(v_a(i));
end loop;
end;

导入导出我不太熟悉
搜下吧,应该有很多答案。等别人来解答
liaopan77 2009-12-05
  • 打赏
  • 举报
回复
楼上正确,我已经作出来了,来结贴,请看下第二个问题啊数据库导入导出。。
还有个动态sql语句的问题,貌似
excute immidiate 这个东西要ddl才行?
我用的直接 excute immidiate +一个select的字符串不行呢,但copye出来,不用动态表名就成。(开始就是这么写,用动态一直抱错,晕死)


lyf872 2009-12-05
  • 打赏
  • 举报
回复
导入用 imp,导出用exp 是数据的导入和导出;这个备份用的
wh62592855 2009-12-05
  • 打赏
  • 举报
回复
小灰狼W 2009-12-04
  • 打赏
  • 举报
回复
用游标返回?
create or replace procedure proc(cur out sys_refcursor)
as
begin
open cur for
select count(1)count,a.typeid,b.code typecode
from a,b
where a.typeid=b.id
group by a.typeid,b.code;
end;

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧