Oracle中的 UPDATE FROM 解决方法
在表的更新操作中,在很多情况下需要在表达式中引用要更新的表以外的数据。象sql server提供了update的from 子句,可以将要更新的表与其它的数据源连接起来。虽然只能对一个表进行更新,但是通过将要更新的表与其它的数据源连接起来,就可以在update的表达式中引用要更新的表以外的其它数据。 UPDATE Table2 实际更新的操作是在要更新的表上进行的,而不是在from子句所形成的新的结果集上进行的。 Oracle没有update from语法,可以通过两种写法实现同样的功能: SET A.NAME=(SELECT B.NAME FROM B WHERE B.ID=A.ID) WHERE A.ID IN (SELECT ID FROM B); (2)多列 SET(qty,price)=(SELECT SUM(qty),SUM(price) FROM order_lines WHERE customer_id='KOHL' ) WHERE cust_id='KOHL' AND order_period=TO_DATE('01-Oct-2000') 2:利用视图来做 例如: UPDATE tablea a 有三点需要注意:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |