我有三张表A,B,C,
A中有字段a1,a2,a3,
B中有字段a1,c1,
C中有字段c1,a2,a3,
现在想把A中的内容a2,a3通过a1在B表找到与c1对应的关系,然后把输出结果在C表中输出,应该怎么写呢?(B表就起一个连接A表与C表的作用的)希望讲的详细点,谢谢!
A中有字段a1,a2,a3,
B中有字段a1,c1,
C中有字段c1,a2,a3,
现在想把A中的内容a2,a3通过a1在B表找到与c1对应的关系,然后把输出结果在C表中输出,应该怎么写呢?(B表就起一个连接A表与C表的作用的)希望讲的详细点,谢谢!
解决方案 »
- 无法以sysdba的角色登陆数据库
- Oracle的三种分页技术哪个好,高手们一般都用哪个
- 这个外键关联查询sql语句应该怎么写?
- 【求解】Oracle form调用procedure(100分求)
- Oracle安装中遇到的问题,急呀,大虾帮回答下,万分感激!!!
- 请教java操作Orcale数据库blob字段的问题
- oracle和tomcat问题
- PowerDesigner的字段自增问题,急!!
- 求助:oracle时间问题
- 请教ORA-00600: internal error code, arguments,这样的错误是什么引起的??谢谢
- Oracle中如何调试多条语句
- 急!这张报表的sql应该怎样写?
create or replace procedure my_proc
is
begin
merge into C
using (select B.c1, A.a2, A.a3 from A, B where A.a1 = B.c1) tmp
on (C.c1 = tmp.c1 and C.a2 = tmp.a2 and C.a3 = tmp.a3)
when not matched then
insert (C.c1, C.a2, C.a3) values (tmp.c1, tmp.a2, tmp.a3);
commit;
exception
when others then
rollback;end my_proc;
(c1,a2,a3)
SELECT C.c1,AA.a2,AA.c3
FROM
( select B.c1,A.a2,A.a3
from A,B
where A.a1 = B.a1
) AA,
C
WHERE AA.C1 = C.C1
select B.c1, A.a2,A.a3 from A join B on A.a1=B.a1
update c set (a2,a3)=(select a.a2,a.a3 from a ,b where a.a1=b.a1 and b.c1=c.c1 and rownum=1 )
FROM A ,B
WHERE A.A1 = B.A1
begin
insert into c
select c1,a2,a3
from a,b
where a.a1=b.a1;
commit;
exception
when oters then
rollback;
dbms_output.put_line(sqlerrm);
end;