update dbo.m_role_fun a
set role_code = b.rsc
from (select rsc, fun_code from dbo.m_fun) b
where a.fun_code = b.fun_code
几个开源数据库的连接更新的写法都不同,比较下来还是Postgres优雅点。
回顾下MySQL写法:
update A
join B on A.x = B.x
set A.xx = B.xx
Firebird 写法:
MERGE INTO target [[AS] target-alias ]
USING source [[AS] source-alias ]
ON join-condition
WHEN MATCHED THEN UPDATE SET colname = value [, colname = value ...]
WHEN NOT MATCHED THEN INSERT [( <columns> )] VALUES ( <values> )