ORACLE 修改數據

今天說一下ORACLE修改數據庫中數據的幾種方法:

 

1、UPDATE 確定條件批量修改

--批量修改
UPDATE cux_oa_person_b t  --表名
SET t.person_number = '111'  --需要修改的數據
WHERE t.person_name = 'xxx' --條件

2、FOR DATE 可視化修改

--與查詢一樣,只是後面多了 FOR UPDATE
SELECT * FROM oe_order_headers_all tt
WHERE tt.HEADER_ID = 21016
FOR UPDATE

點開鎖,修改數據,點擊√,關閉鎖。最後左上角COMMIT。確認

注意: 使用 FOR UPDATE,會使資源被佔用,別人無法進行修改。所以一定要按條件去搜索編輯,不要全表for update或大數據量的for update

3、FOR UPDATE NOWAIT 這個與上面功能一樣,只是如果資源被佔用,會進行提示,而FOR UPDATE 則會一直執行

 

4、遊標批量更新(適合多種條件更新數據情景)

舉個簡單的例子,例如需要下面這樣更新數據。

 ----------------->    

當然這種簡單需求也可以用update實現。但是複雜一點的就會用到遊標。這裏只是演示怎麼用遊標更新數據。

DECLARE
    CURSOR c1 IS 
		SELECT * FROM cux_aaa;  --查詢條件表
		l_name VARCHAR2(240);
BEGIN
	FOR i IN c1 LOOP --循環
	    l_name := i.v2 || i.v2;
			UPDATE cux_aaa t
			SET t.v2 = l_name
			WHERE t.v1 = i.v1;
	END LOOP;
	COMMIT;
	EXCEPTION
		WHEN OTHERS THEN
			ROLLBACK;
END;		

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章