UPDATE table_name SET col1 = val1, col2 = val2, ... WHERE condition;
UPDATE infos SET classno = '1002', stuaddress = '山東萊蕪' WHERE stuname = '阮小二';
UPDATE emp e SET sal = (SELECT AVG(sal) FROM emp WHERE deptno = e.deptno) WHERE job = 'CLERK';
UPDATE emp e SET (sal, comm) = (SELECT AVG(sal), MAX(comm) FROM emp WHERE deptno = e.deptno) WHERE job = 'CLERK';
MERGE INTO target t USING source s ON (t.id = s.id) WHEN MATCHED THEN UPDATE SET t.val = s.val;
DISABLE 索引再 REBUILD。WHERE 條件確保走索引;大量更新考慮 PARALLEL DML。SET num_col = '100' 導致索引失效,務必型別一致。SQL> UPDATE infos SET classno='1002' WHERE stuname='阮小二'; 1 row updated. SQL> COMMIT;
SQL*Plus 回顯 N rows updated;PL/SQL 中用 SQL%ROWCOUNT 取得。