INSERT into DOMAIN_ALEXA_INFO
(main_domain) values
(select sites_info.main_domain
from sites_info
where not exists
(select null
from DOMAIN_ALEXA_INFO
where DOMAIN_ALEXA_INFO.main_domain = sites_info.main_domain))这个报 缺少表达式的错
MERGE INTO DOMAIN_ALEXA_INFO alexa
USING SITES_INFO sites
on (alexa.main_domain = sites.main_domain)
WHEN MATCHED THEN
UPDATE set alexa.main_domain = sites.main_domain
WHEN NOT MATCHED THEN
INSERT
(main_domain)
values
(sites.main_domain)
--这个报 alexa.main_domain 无效标识,可明明就有这属性
上面两个代码就是要实现 如果 SITES_INFO 有main_domain的记录,而DOMAIN_ALEXA_INFO 不存在的,
就把此记录添加到 DOMAIN_ALEXA_INFO 表里去(存不存的断定的标识 main_domain )
(main_domain) values
(select sites_info.main_domain
from sites_info
where not exists
(select null
from DOMAIN_ALEXA_INFO
where DOMAIN_ALEXA_INFO.main_domain = sites_info.main_domain))这个报 缺少表达式的错
MERGE INTO DOMAIN_ALEXA_INFO alexa
USING SITES_INFO sites
on (alexa.main_domain = sites.main_domain)
WHEN MATCHED THEN
UPDATE set alexa.main_domain = sites.main_domain
WHEN NOT MATCHED THEN
INSERT
(main_domain)
values
(sites.main_domain)
--这个报 alexa.main_domain 无效标识,可明明就有这属性
上面两个代码就是要实现 如果 SITES_INFO 有main_domain的记录,而DOMAIN_ALEXA_INFO 不存在的,
就把此记录添加到 DOMAIN_ALEXA_INFO 表里去(存不存的断定的标识 main_domain )
我以为逻辑蛮简单的,所以
马上贴出
create table SITES_INFO
(
MAIN_DOMAIN VARCHAR2(160),
HOST_NAME VARCHAR2(160) not null,
OUT_LINKS NUMBER,
LINKS NUMBER,
STATUS NUMBER default 40,
ALLCOUNT NUMBER,
FAILEDCOUNT NUMBER,
CREATE_DATE DATE default sysdate,
LAST_UPDATE_DATE DATE default sysdate,
CLIENT_ID VARCHAR2(150),
NUM1 NUMBER,
NUM2 NUMBER,
STR1 VARCHAR2(150),
STR2 VARCHAR2(150),
STR3 VARCHAR2(150),
GRADE NUMBER,
INTERVALDAYS NUMBER,
SITE_LANGUAGE_TYPE NUMBER default 0
)create table DOMAIN_ALEXA_INFO
(
MAIN_DOMAIN VARCHAR2(160) not null,
ALEXA_RANKING NUMBER,
CHINAALEXARANK NUMBER,
STATUS NUMBER default 40,
SITELANGUAGETYPE NUMBER default 0,
SITEOUTLINKS NUMBER,
SITEONLINEDATE DATE,
USERCOUNTRYINFO VARCHAR2(300),
SITEAVGSPEEDINFO VARCHAR2(300),
ATTEMPTTIMES NUMBER,
CREATE_DATE DATE default sysdate,
LAST_UPDATE_DATE DATE default sysdate,
NETGY_GRADE NUMBER,
INTERVAL_VISIT_DAYS NUMBER,
CLIENT_ID VARCHAR2(150),
NUM1 NUMBER,
NUM2 NUMBER,
STR1 VARCHAR2(150),
STR2 VARCHAR2(150),
STR3 VARCHAR2(150)
)
关注main_domain 就可以 了,其它字段有些是保留 目前还没用到
(main_domain)
select sites_info.main_domain
from sites_info
where not exists
(select NULL from DOMAIN_ALEXA_INFO
where DOMAIN_ALEXA_INFO.main_domain = sites_info.main_domain);
MERGE INTO DOMAIN_ALEXA_INFO alexa
USING SITES_INFO sites
on (alexa.main_domain = sites.main_domain)
WHEN MATCHED THEN
UPDATE set alexa.main_domain = sites.main_domain
WHEN NOT MATCHED THEN
INSERT
(main_domain)
values
(sites.main_domain);
语句非法。无法更新on子句引用列。
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production