select * from t1 join t2 on t1.c1=t2.c1
因為這本來就是sql99的標准語法
在sqlplus中sql99的標准語法是完全可以兼容的,所以所有的標准sql語句在sqlplus中
都可以運行,
而反之,則不是正確的sql語句,因而不能被執行
這是本人的愚見

解决方案 »

  1.   

    请问SQL里的存储过程,在Oracle中需要修改嘛?
      

  2.   

    to  COOLCOMBREAD:
      sql server 中的procedure 当然要改,注意一些异常控制:
    oracle 9i中
    create or replace procedure myfirstoraclepro(参数1 in number,参数2 out number,参数3 in out varchar2 )as 
    declare ...
    begin
      ...
      exception  
        when no_data_found then  --只是举例说明
          dosomething;--处理异常的语句
        when others then
          null;--
    end;to cqf1 (cqf) 楼主
      ORA: Select * from t1 join t2 on t1.c1=t2.c1
    此条语句应该是cross join的功能,结果是笛卡儿集,应该是sql92标准语句,所以没问题;顺便问一下,oralce的sql语法是不是sql92标准,sql server 应该是sql99标准吧,因此
    在sql server 中用
    left join ,right join ,就没问题,而在oracle中只有用(+)=,和=(+)代替才可以,这只是我的看法,大家说说,我的理解是否正确呢?
      

  3.   

    顺便问一句sql server中的完全连接full outer join 在oracle中对应的语句如何写呢sql: select * from t1 full join t2 on t1.c1=t2.c1 ;ora:中怎么写?我试了一下
          select * from t1,t2 where t1.c1(+)=t2.c1(+) 没行:)
    高手指点一下
      

  4.   

    移植到oracle有几点注意。
    1.时间的处理
    2.自增字段的实现
    3.备份数据库
    等等。
    具体看我的blog:http://www.coolplaybbs.com/blog/more.asp?name=yassee&id=92
      

  5.   

    在最长见的insert updata insert delete语句中,除了 
    select name from table_name where rownum < 101;
    的差异外. 没找出其它问题, Oracle8i 
    SELECT LAST_NAME, D.DEPT_ID 
    FROM EMPLOYEES E, DEPARTMENTS D 
    WHERE E.DEPARTMENT_ID(+) = D.DEPARTMENT_ID; ORACLE9I 
    SELECT LAST_NAME, D.DEPT_ID 
    FROM EMPLOYEES E 
    RIGHT OUTER JOIN DEPARTMENTS D 
    ON (E.DEPARTMENT_ID = D.DEPARTMENT_ID); 尝试了用这两个SQL文, 效果一样. 如果对频繁视图进行操作, 不知谁能给我点例子.?