Oracle Update
在表的更新操作中,在很多情况下需要在表达式中引用要更新的表以外的数据。象sql server提供了update的from 子句,可以将要更新的表与其它的数据源连接起来。虽然只能对一个表进行更新,但是通过将要更新的表与其它的数据源连接起来,就可以在update的表达式中引用要更新的表以外的其它数据。 SET A.NAME=(SELECT B.NAME FROM B WHERE B.ID=A.ID) WHERE A.ID IN (SELECT ID FROM B); 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') 如果视图基于多个表的连接,那么用户更新(update)视图记录的能力将受到限制。除非update只涉及一个表且视图列中包含了被更新的表的整个主键,否则不能更新视图的基表。
转载地址:http://www.cnblogs.com/JasonLiao/archive/2009/12/23/1630895.html
解决我问题的语句示例: update hawb_tax set (MERCHANT_ORDER_NO,CUSTOMS_TAX,CUSTOMS_TAX_IMPORT_TIME) = (SELECT I.MERCHANT_ORDER_NO,I.TAX_AMOUNT,SYSDATE CUSTOMS_TAX_IMPORT_TIME FROM customs_tax I WHERE ID = 3818 ) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |