MERGE INTO sites_info sites
USING DOMAIN_ALEXA_INFO alexa
ON (alexa.main_domain = sites.main_domain and sites.status = 40 and alexa.status = 100)
WHEN MATCHED THEN
UPDATE SET sites.SITE_LANGUAGE_TYPE = alexa.SITELANGUAGETYPE
这样报缺少关键字 错误
数据是9R2我又这样改了 :MERGE INTO sites_info sites
USING DOMAIN_ALEXA_INFO alexa
ON (alexa.main_domain = sites.main_domain and sites.status = 40 and alexa.status = 100)
WHEN MATCHED THEN
UPDATE SET sites.SITE_LANGUAGE_TYPE = alexa.SITELANGUAGETYPE
WHEN NOT MATCHED THEN
select 1 from dual可还是报同样的错误 !我要的效果是根据 a 去更新b 表,当存在相应匹配时 !其它情况不用处理
USING DOMAIN_ALEXA_INFO alexa
ON (alexa.main_domain = sites.main_domain and sites.status = 40 and alexa.status = 100)
WHEN MATCHED THEN
UPDATE SET sites.SITE_LANGUAGE_TYPE = alexa.SITELANGUAGETYPE
这样报缺少关键字 错误
数据是9R2我又这样改了 :MERGE INTO sites_info sites
USING DOMAIN_ALEXA_INFO alexa
ON (alexa.main_domain = sites.main_domain and sites.status = 40 and alexa.status = 100)
WHEN MATCHED THEN
UPDATE SET sites.SITE_LANGUAGE_TYPE = alexa.SITELANGUAGETYPE
WHEN NOT MATCHED THEN
select 1 from dual可还是报同样的错误 !我要的效果是根据 a 去更新b 表,当存在相应匹配时 !其它情况不用处理
INSERT ...
可以不用merge
update sites_info sites set sites.SITE_LANGUAGE_TYPE=
(select alexa.SITELANGUAGETYPE from DOMAIN_ALEXA_INFO alexa
where alexa.main_domain = sites.main_domain and sites.status = 40 and alexa.status = 100)
where exists(select 1 from DOMAIN_ALEXA_INFO alexa
where alexa.main_domain = sites.main_domain and sites.status = 40 and alexa.status = 100)
(select alexa.SITELANGUAGETYPE from DOMAIN_ALEXA_INFO alexa
where alexa.main_domain = sites.main_domain and alexa.status = 100)
where exists(select 1 from DOMAIN_ALEXA_INFO alexa
where alexa.main_domain = sites.main_domainand alexa.status = 100)
and sites.status = 40
update sites_info sites
set sites.SITE_LANGUAGE_TYPE = (select alexa.SITELANGUAGETYPE
from DOMAIN_ALEXA_INFO alexa
where alexa.main_domain =
sites.main_domain
and alexa.status = 100)
where exists
(select 1
from DOMAIN_ALEXA_INFO alexa
where alexa.main_domain = sites.main_domainand alexa.status = 100)
and sites.status = 40
报缺少右括号 ,还有那个 where exists为什么放在这里