Mysql
update
table_name as a
inner join (
select
uuid,
concat('TABLE_NAME_', SUBSTRING(uuid, 16)) as name
from
audit_task) as b
set
a.table_name = b.name
where
a.uuid = b.uuid;
Oracle
create table table_temp AS select uuid, concat('TABLE_NAME_', SUBSTR(uuid, 16)) name from table_lkh;
alter table table_temp add constraint pk_id_l primary key (uuid);
UPDATE (
SELECT
a.table_name,
b.name
FROM
table_lkh a,
table_temp b
WHERE
a.uuid = b.uuid)
SET
table_name = name;
update (select iy.company_name company_name1, cc.company_name_jc company_name2
from income_year_item iy , city_company cc
where iy.company_code = cc.code
)
set company_name1 = company_name2;
Oracle注:报错:ORA-01779: 无法修改与非键值保存表对应的列,用A表去更新B表的数据,A表的关联条件必须为主键,Oracle这样做的目的是保证表A的满足关联条件的数据是唯一的,这样在更新B表数据时才有意义。