Oracle資料庫迴圈更新

2021-10-03 14:38:31 字數 718 閱讀 3637

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資料庫批量更新某列資料

先講下我遇到的情況 有一張表a,已經存在乙個欄位該字段是date型別,需求將該字段改為varchar2 型別,我們都知道,oracle在該字段有值情況是不可以更新資料的,如果你不在乎該字段在表中位置變化的話,可以方法一操作 方法一 新增乙個字段,然後把原列資料複製到這個列下,然後把原欄位刪除,把新增...

oracle資料庫 update更新多表總結

總體原則 1 更新的時候一定要加where條件,否則必然引起該字段的所有記錄更新 2 跨表更新時,set和where時,儘量減少掃瞄次數,從而提高優化 update更新例項 1 最簡單的形式 單錶更新 sql 經確認customers表中所有customer id小於1000均為 北京 1000以內...

資料庫更新

region 將資訊存入資料庫store the information to the sql int userid convert.toint32 session userid oledbconnection cn new oledbconnection strcn string sqlcmd u...