PL / SQL更新加入?

我知道PL / sql中没有Update-Join语句.我曾经写过T-sql.

我有两张桌子.

Alex_Table1
---------------------------
PK         VAL
---------------------------
1          Value1
2          Value2
3          Value3


Alex_Table2
---------------------------
PK         VAL
---------------------------
1          Value1_2
3          Value3_2

我想将来自Alex_Table2的VAL更新为通过PK列加入的Alex_Table1.

在T-sql中,这很简单

update t1 set t1.VAL = t2.VAL
from
    Alex_Table1 t1
    inner join Alex_Table2 t2 on t1.PK = t2.PK;

结果就是我的预期

Alex_Table1
---------------------------
PK         VAL
---------------------------
1          Value1_2
2          Value2
3          Value3_2

我的问题是如何在PL / sql中做?谢谢!

更新

谢谢Cyber​​nate和ypercube给了我两个有用的解决方案.他们都工作.但是,我想告诉您这两个陈述之间的表现.

我的实际表包含80,000条记录,只有3,000条需要更新.

MERGE语句需要0.533秒.

UPDATE EXISTS语句需要3分钟(我没有测量实际时间.3分钟后我终止了我的过程.)

解决方法

使用MERGE语句:
MERGE INTO Alex_Table1 t1
USING Alex_Table2 t2
ON (t1.PK = t2.PK)
WHEN MATCHED THEN 
UPDATE SET t1.VAL = t2.VAL

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...