Oracle9i环境中,使用PL/SQL操作数据库,有两张表A和B,
A的字段结构:c,d,e,f,g,h,B字段结构:d,e,g,k,m,s,A和B有相同的字段d,e,g
如何将表A中的d,e,g的数据复制到表B中对应的d,e,g下,c,f,h的数据不要复制,具体的SQL语句该怎么写??
恳请高手指教,不胜感激!!
A的字段结构:c,d,e,f,g,h,B字段结构:d,e,g,k,m,s,A和B有相同的字段d,e,g
如何将表A中的d,e,g的数据复制到表B中对应的d,e,g下,c,f,h的数据不要复制,具体的SQL语句该怎么写??
恳请高手指教,不胜感激!!
set b.d=(select d from a where 条件)
, b.e=(select e from a where 条件)
, b.g=(select g from a where 条件)
我想写个SQL语句,让语句自己去寻找比对哪些字段相同,遇到相同字段的就把数据插入到对应字段下,谢谢!
有的地方是不能偷懒的,如果楼主想出了,请继续.
哦, 也不是完全没有办法, 可以通过访问user_tab_columns表来自己写动态SQL, 不过不推荐这么做.
大致思路如下:
1.通过A表的名字从user_tab_columns中取出所有的字段。
2.用1取得的字段名和B表的表名为条件,判断user_tab_columns中是否存在相应的数据。如果有说明B表中也有该字段,然后将该字段拼接到sql语句用。如果没有,那么继续判断下一个。
create proc copyto
as
select * from tab1insert tab2 exec copyto应该可以了
insert into A(d,g,e) select d,g,e from B