我创建了两个表,uview和vview。
CREATE TABLE Uview
( USERID CHAR(6) NOT NULL ENABLE,
pageID varCHAR2(50) NOT NULL ENABLE,
VISIT_TIME TIMESTAMP (6) NOT NULL ENABLE,
view_TIME TIMESTAMP (6) NOT NULL ENABLE,
fview_TIME TIMESTAMP (6) NOT NULL ENABLE,
entry varCHAR2(50) NOT NULL ENABLE,
exit varCHAR2(50) NOT NULL ENABLE,
PRIMARY KEY (USERID, VISIT_TIME,viewtime) ENABLE )
CREATE TABLE vview
( VISITORID CHAR(8) NOT NULL ENABLE,
pageID varCHAR2(50) NOT NULL ENABLE,
VISIT_TIME TIMESTAMP (6) NOT NULL ENABLE,
view_TIME TIMESTAMP (6) NOT NULL ENABLE,
fview_TIME TIMESTAMP (6) NOT NULL ENABLE,
entry varCHAR2(50) NOT NULL ENABLE,
exit varCHAR2(50) NOT NULL ENABLE,
PRIMARY KEY (visitorID, VISIT_TIME,view_time) ENABLE )
现在我想用union来查询这两个表。
select userID,pageID,visit_time,view_time,fview_time,exit,entry
from uview
union
select visitorid,pageID,visit_time,view_time,fview_time,exit,entry
from vview;
但是,ORA-00904存在错误:“ENTRY”:此标识符无效。 即使我从查询ORA-00904中删除条目:“退出”:无效的标识符结果也是如此。这对我来说似乎很奇怪。请告诉我有什么问题。谢谢 。
答案 0 :(得分:2)
Entry
是Oracle中的保留字:http://docs.oracle.com/cd/B19306_01/em.102/b40103/app_oracle_reserved_words.htm。你必须用双引号来逃避它:
SELECT .... , "entry"
FROM uview
etc...