帮我调整以下orcle语句:merge into ent_sso a using (select * from (select count(id) num,shxydm xydm from yjgx.yp_ypscqy group by shxydm)) b ON (a.cornumber=b.shxydm and b.num=1 and b.xydm is not null) when matched then update set a.isdrpro=3200
时间: 2024-03-21 12:41:36 浏览: 76
orcle教程 非常实用
4星 · 用户满意度95%
好的,以下是针对Oracle数据库的MERGE语句,它与您提供的MySQL语句相同,只需稍作调整即可:
```
MERGE INTO ent_sso a
USING (SELECT COUNT(id) num, shxydm xydm FROM yjgx.yp_ypscqy GROUP BY shxydm) b
ON (a.cornumber = b.shxydm AND b.num = 1 AND b.xydm IS NOT NULL)
WHEN MATCHED THEN
UPDATE SET a.isdrpro = 3200;
```
该语句的作用与您提供的MySQL语句相同,即从`yjgx.yp_ypscqy`表中统计每个`shxydm`出现的次数,并筛选出仅出现一次且`xydm`不为空的记录。然后将这些记录插入到`ent_sso`表中,如果已经存在相同的`cornumber`(即`shxydm`),则更新对应的`isdrpro`值为3200。
请注意,要使用MERGE语句,必须在`ent_sso`表中设置`cornumber`列为主键或唯一索引。
阅读全文