更新表行多个值oracle 11g

时间:2016-03-13 07:30:36

标签: sql oracle sql-update

我正在努力为包含子查询的表更新一列。我有一个表,其中一个值为null。 目前我有:

UPDATE DW1_PURCHASES SET DW1_PURCHASES.TOTAL_AMT = 
(
SELECT DW1_PURCHASES.QUANTITY * DW1_PRODUCTS.PRICE 
FROM DW1_PURCHASES, DW1_PRODUCTS 
WHERE DW1_PURCHASES.PRODUCT_ID =  DW1_PRODUCTS.PRODUCT_ID
)

虽然子查询返回我需要插入的数据但是我得到单行子查询的错误返回多行。我如何基本上将子查询结果转移到表中?

感谢。

1 个答案:

答案 0 :(得分:1)

您不必JOIN sub-query内的correlate更新表。只需sub-query UPDATE DW1_PURCHASES SET DW1_PURCHASES.TOTAL_AMT = ( SELECT DW1_PURCHASES.QUANTITY * DW1_PRODUCTS.PRICE FROM DW1_PRODUCTS WHERE DW1_PURCHASES.PRODUCT_ID = DW1_PRODUCTS.PRODUCT_ID ) 更新表

DW1_PRODUCTS

注意:如果您的PRODUCT_ID表格重复Dim FileName As String FileName = "C:\Users\Coda\Desktop\Calendar\file\" & clickDate & ".txt" Dim Str1 As String, Val1 As Long Open FileName For Output As #1 Str1 = Text1.Text MsgBox ("Save") Write #1, Str1 Close #1 ,那么即使现在也有可能出现同样的错误