Oracle数据库循环更新

oracle数据库
更新资料时

UPDATE  TEST_TABLE1 T SET T.NAME = '1' WHERE NAME = 'ERGOU';

单一更新一个是比较容易理解
实际情况经常需要更新大量资料
例如从表更新到另外的表
尝试了挺多次,

UPDATE  TEST_TABLE1 T , TEST_TABLE2   E SET T.NAME =  E.NAME  WHERE T.ID = E.ID ;

然后报错

后来知道可以使用oracle的pl/sql,写个测试过程

declare
cursor vi_cursor is (select * from TEST_TABLE2);
vi_row vi_cursor%rowtype;
begin
  for vi_row in vi_cursor loop
    update TEST_TABLE1 T
    set T.NAME = vi_row.NAME
    where T.ID= vi_row.ID ;
  end loop;
END;

把自己理解的,觉得有点用的写出来
很多地方需要改进,很多大牛都有写,我也是看着自己问题网上搜索过来
一步一步改进吧,多多交流学习

你可能感兴趣的:(Oracle数据库循环更新)