前提:
有2张表,A1、A2,
A1 中有 fields1,fields2 两个字段,
A2 中有 num,fields1,fields2 三个字段;
A2 表对A1的外键是 fields2 ;
A2表对A1表为多对1的映射。问题描述: 先需要将A2表的字段 fields1 更新为 A1 表中的fields1;A1、A2表中的记录条数未知。
例如:A1表中有如下数据:
fields1 fields2
001 abc
002 bcd
014 cde
...
A2表中有如下数据:
num fields1 fields2
1 0 abc
2 1 abc
3 1 abc
4 0 bcd
5 0 bcd
6 0 cde
.....
A2表更新结果如下:
num fields1 fields2
1 001 abc
2 001 abc
3 001 abc
4 002 bcd
5 002 bcd
6 014 cde PS:谢谢各位大侠啦
有2张表,A1、A2,
A1 中有 fields1,fields2 两个字段,
A2 中有 num,fields1,fields2 三个字段;
A2 表对A1的外键是 fields2 ;
A2表对A1表为多对1的映射。问题描述: 先需要将A2表的字段 fields1 更新为 A1 表中的fields1;A1、A2表中的记录条数未知。
例如:A1表中有如下数据:
fields1 fields2
001 abc
002 bcd
014 cde
...
A2表中有如下数据:
num fields1 fields2
1 0 abc
2 1 abc
3 1 abc
4 0 bcd
5 0 bcd
6 0 cde
.....
A2表更新结果如下:
num fields1 fields2
1 001 abc
2 001 abc
3 001 abc
4 002 bcd
5 002 bcd
6 014 cde PS:谢谢各位大侠啦
解决方案 »
- SQLSERVER2005 DTS 数据导出问题(从SQLSERVER导入到ORACLE)
- oracle查询大数据量
- 倒序索引 sql优化
- spool脚本里想打印出PL里执行SQL结果
- 急,在线等。INSERT INTO ....select 语句
- like关键字相对的是什么?
- 一个关于统计的问题,急,谢谢
- 用大数据库建立小数据库有没有好办法?
- 请问如何在PL/SQL中创建一个新的Transaction,并且使用这个Transaction,有分,在线等待QQ:1720120 mail:[email protected]
- oracle不定行列统计
- 关于存储过程 这样的情况怎么办
- 2个表里都有个毫秒级的时间字段,怎么按照这个时间给2个表的内容放到一起排序?
t.fields2 =(SELECT fields2 FROM A1) 把这个等号改成IN老是忘记了。
create or replace procedure update_Job as
begin
for varCode in (select a.fields1,a.fields2 from A1 a) loop
for varStr in (select a.num,a.fields1,a.fields2 from A2 a
where a.fields2 = varCode.Fields2 and a.fields1 != varCode.Fields1) loop
update A2 t
set t.fields1 = varCode.Fields1
where t.num = varStr.Num;
commit;
end loop;
end loop;
end update_Job;
(小菜西风) 写感觉没问题 但无法编译过去 系统提示编译有错误