我有一个ORACLE查询,不适用于此查询.
UPDATE emp a set a.Enq_Status = 'PROGRESS'
where exists (select * from emp a, Data b
WHERE a.SA_Enq_Status is NULL
and a.EQ_Status = 'ACTIVATED'
and a.Activation_Return_Code = 0
and a.Alert_Code > 0
and a.User_Id = b.User_Id
and (b.Is_Associate is NULL or b.Is_Associate = 0)
and (b.Stk_Schd is NULL)
and (b.Stk_Dis_Amt is NULL)
);
Run Code Online (Sandbox Code Playgroud)
我的问题是我想多发更新表中的记录EMP(A)到状态"PROGRESS'.But执行这个查询在a.Enq_status所有记录是changes.Please帮我this.Updation时不correct.Please帮助我在这
您已在更新查询和子查询中指定了表emp,Oracle将这些视为单独的表.您需要一个相关的子查询:
UPDATE emp a
set a.Enq_Status = 'PROGRESS'
where exists (select 'X'
from Data b
WHERE a.SA_Enq_Status is NULL
and a.EQ_Status = 'ACTIVATED'
and a.Activation_Return_Code = 0
and a.Alert_Code > 0
and a.User_Id = b.User_Id
and (b.Is_Associate is NULL or b.Is_Associate = 0)
and (b.Stk_Schd is NULL)
and (b.Stk_Dis_Amt is NULL));
Run Code Online (Sandbox Code Playgroud)
您可能只需要更新emp表而不需要子查询,但是如果链接到where子句中的Data表...
| 归档时间: |
|
| 查看次数: |
1689 次 |
| 最近记录: |