CREATE TABLE CHANGE_COUNT(N INT); INSERT INTO CHANGE_COUNT VALUES(1); INSERT INTO CHANGE_COUNT VALUES(2); INSERT INTO CHANGE_COUNT VALUES(3);SQL> SELECT * FROM CHANGE_COUNT; N --------------------------------------- 1 2 3 SQL> UPDATE CHANGE_COUNT SET N=CASE WHEN N=1 THEN 2 WHEN N=2 THEN 3 WHEN N=3 THEN 4 ELSE N END;3 rows updatedSQL> COMMIT;SQL> SELECT * FROM CHANGE_COUNT; N --------------------------------------- 2 3 4 是这个意思么?
SQL> select xm,xbbm from rk_jbxxb;XM XBBM ---------------------------------------- ---- a 1 b 1 c 1 d 1 e 2 f 2 g 2 h 28 rows selectedSQL> update rk_jbxxb set xbbm ='2' where xbbm='1';4 rows updated 我希望这时候执行select xm,xbbm from rk_jbxxb;看到的还是 XM XBBM ---------------------------------------- ---- a 1 b 1 c 1 d 1 e 2 f 2 g 2 h 2 而不是: XM XBBM ---------------------------------------- ---- a 2 b 2 c 2 d 2 e 2 f 2 g 2 h 2
INSERT INTO CHANGE_COUNT VALUES(1);
INSERT INTO CHANGE_COUNT VALUES(2);
INSERT INTO CHANGE_COUNT VALUES(3);SQL> SELECT * FROM CHANGE_COUNT; N
---------------------------------------
1
2
3
SQL> UPDATE CHANGE_COUNT SET N=CASE WHEN N=1 THEN 2 WHEN N=2 THEN 3 WHEN N=3 THEN 4 ELSE N END;3 rows updatedSQL> COMMIT;SQL> SELECT * FROM CHANGE_COUNT; N
---------------------------------------
2
3
4
是这个意思么?
我现在想实现的是在第二次或之后执行update时,where条件读出来的是没有执行修改前的记录。
---------------------------------------- ----
a 1
b 1
c 1
d 1
e 2
f 2
g 2
h 28 rows selectedSQL> update rk_jbxxb set xbbm ='2' where xbbm='1';4 rows updated
我希望这时候执行select xm,xbbm from rk_jbxxb;看到的还是
XM XBBM
---------------------------------------- ----
a 1
b 1
c 1
d 1
e 2
f 2
g 2
h 2
而不是:
XM XBBM
---------------------------------------- ----
a 2
b 2
c 2
d 2
e 2
f 2
g 2
h 2