这里写自定义目录标题
问题解释:不能在更新或删除的sql里嵌套子查询
错误sql:
delete from ent_role_user
where (user_code ,role_code, tenant_code )
in (
select user_code ,role_code,tenant_code
from ent_role_user where user_code = #{userName}
and tenant_code = #{tenantCode}
and warehouse_code != '' and warehouse_code is not null
and role_code in (select role_code from ent_role where role_type =false ) )
and warehouse_code != '' and warehouse_code is not null
解决办法:中间加一个中间表
delete from ent_role_user
WHERE
(user_code,role_code,tenant_code) IN (
SELECT
a.user_code,a.role_code,a.tenant_code
FROM(
SELECT
user_code,role_code,tenant_code
FROM
ent_role_user
WHERE
user_code = #{userName}
AND tenant_code = #{tenantCode}
AND warehouse_code != ''
AND warehouse_code IS NOT NULL
AND role_code IN ( SELECT role_code FROM ent_role WHERE role_type = FALSE )
AND warehouse_code != ''
AND warehouse_code IS NOT NULL
) a
) and warehouse_code != '' and warehouse_code is not null
成功
版权声明:本文为Apple_Andy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。