pl / sql需要知道背后的技术

时间:2015-12-15 02:31:51

标签: sql join sql-update

我是否知道下面使用的wat技术更新及其工作方式

此问题来自我们的论坛::

update  demo_table new 
set     (new.quantity, new.actual_cost) = 
        (
        SELECT  old.quantity, old.actual_cost
        FROM    demo_table old
        WHERE   old.object_name = new.object_name
            and old.object_type = new.object_type
            and old.trans_date = new.trans_date
            and old.trans_type = 1
)
where new.trans_type = 9

1 个答案:

答案 0 :(得分:0)

以下是更新查询工作原理的基本结构:

UPDATE tableName SET column = value WHERE condition = true;

在您的情况下,您要更新条件为demo_table new的{​​{1}}表。

这里很棘手的是你将你的子查询作为你的值来设置列。子查询基本上是另一个返回结果的查询。在这种情况下,您的子查询是来自new.trans_type = 9表的select语句。