我用下列语句创建视图时出错:
SQL> CREATE OR REPLACE VIEW refview
  2  AS SELECT refto.ref_id,refto.ref_name,refrom.from_id,refrom.from_name
  3  FROM refto LEFT JION refrom
  4  ON refrom.ref_id=refto.ref_id;
FROM refto LEFT JION refrom
                *
ERROR at line 3:
ORA-00933: SQL command not properly ended改成下列语句时也出错:SQL> CREATE OR REPLACE VIEW refview
  2  AS SELECT refto.ref_id,refto.ref_name,refrom.from_id,refrom.from_name
  3  FROM refto AS rt LEFT JION refrom AS rf
  4  ON rt.ref_id=rf.ref_id;
     
FROM refto AS rt LEFT JION refrom AS rf    
           *            
ERROR at line 3:
ORA-00933: SQL command not properly ended.......又试了不知多少次,最后改成:CREATE OR REPLACE VIEW refview
AS SELECT refto.ref_id,refto.ref_name,refrom.from_id,refrom.from_name
FROM refto,refrom
WHERE refto.ref_id=refrom.ref_id终于成了:
view created
我就是不懂为什么用了join和as 就会提示命令没有正常结束的错误。哪位大侠可以详细介绍一下oracle中视图的创建:

解决方案 »

  1.   

    1.表别名不能加AS,这是语法错误
    2.左连接当然可以,但是你拼错了,JION -> JOIN
      

  2.   

    谢谢热心的、细心的、好心的十一万先生,
    join写错了,我又笨又粗心,可是表的别名不能加as,那怎么用呢?
    我将as去了,改成:
    CREATE OR REPLACE VIEW refview
    AS SELECT refto.ref_id,refto.ref_name,refrom.from_id,refrom.from_name
    FROM refto LEFT JOIN refrom
    ON refto.ref_id=refrom.ref_id
    成功了,可是改成:
    CREATE OR REPLACE VIEW refview
    AS SELECT refto.ref_id,refto.ref_name,refrom.from_id,refrom.from_name
    FROM refto rt LEFT JOIN refrom rf
    ON rt.ref_id=rf.ref_id
    又有错,说明直接加别名不行,那用什么???
      

  3.   

    CREATE OR REPLACE VIEW refview 
    AS SELECT refto.ref_id,refto.ref_name,refrom.from_id,refrom.from_name 
    FROM refto rt LEFT JOIN refrom rf 
    ON rt.ref_id=rf.ref_id 这里如果你用别名的话,column也应该用别名,rt.ref_id,rt.ref_name,rf.from_id,rf.from_name