1.今天在csdn上看到网友的提问:http://community.csdn.net/Expert/topic/4595/4595522.xml?temp=.366543
其中有一个update写法如下:update (select d.id as did, d.next as dnext, d.message as dmessage, s.id as sid, s.next as snext, s.message as smessage from destination d, dbmsglin s where d.next= s.id) set did=sid,dnext=snext, dmessage=dmessage||smessage
没有见过这样的update写法,故测试了一下:
Connected to Oracle9i Enterprise Edition Release 9.2.0.1.0
SQL> SELECT * FROM test0302;
TESTCOL
--------------------------------------------------
xxx
xxx
xxx
xxx
xxx
xxx
6 rows selected
SQL> UPDATE (SELECT * FROM test0302) SET testcol='111';
6 rows updated
SQL> commit;
Commit complete
SQL> SELECT * FROM test0302;
TESTCOL
--------------------------------------------------
111
111
111
111
111
111
6 rows selected
SQL>