还有:
if '01' not in (select no from TABLE)
insert into TABLE ( No, Name, Type, Time) 
values( '01', '123', 0,to_date('2006-03-02','yyyy-mm-dd'))这句在oracle下不能执行,如何解决呢

解决方案 »

  1.   

    DECLARE
    BEGIN
    delete from TABLE where No = '01' ;
    insert into TABLE ( No, Name, Type, Time) 
    values( '01', '123', 0,to_date('2006-03-02','yyyy-mm-dd'));
    commit;
    END;可以放在过程里,然后执行这个过程就可以了
      

  2.   

    delete from TABLE where No = '01' ;
    insert into TABLE ( No, Name, Type, Time) 
    values( '01', '123', 0,to_date('2006-03-02','yyyy-mm-dd'));可以改为:update TABLE set name='123',type=0,time=to_date('2006-03-02','yyyy-mm-dd') where No = '01';
      

  3.   

    if '01' not in (select no from TABLE)
    insert into TABLE ( No, Name, Type, Time) 
    values( '01', '123', 0,to_date('2006-03-02','yyyy-mm-dd'))--这个不是SQL语法,可以在plsql中实现。如果你的Oracle是9i及以上,可以用Merge来实现。merge into TABLE a
    using (select '01' as no, '123' as name, 0 as type,to_date('2006-03-02','yyyy-mm-dd') as time from dual) b
    when matched then
    update ...
    when not matched then
    insert ..具体语法你自己查查吧
      

  4.   

    在 plsql 中  两句不能同时选中执行的.
    你可以打开 command windows  里面可以两句一起执行
      

  5.   

    把脚本保存为*.sql文件,放在d:\*.sql
    用sqlplus联上数据库后用@d:\*.sql 
    这样就可以执行了
      

  6.   

    在oracle中SQL語句和PL/SQL語句是分得很清的,要想執行兩條SQL語句,必須以PL/SQL的方式執行(當然,在一些開發工具裡可以象SQL SERVER的查詢分析器一樣選中要執行的那些語句)。
    至於
    if '01' not in (select no from TABLE)
    insert into TABLE ( No, Name, Type, Time) 
    values( '01', '123', 0,to_date('2006-03-02','yyyy-mm-dd'))
    這個SQL SERVER語法,放在Oracle中應該是:
    if '01' not in (select no from TABLE) then
    insert into TABLE ( No, Name, Type, Time) 
    values( '01', '123', 0,to_date('2006-03-02','yyyy-mm-dd'));
    end if;
      

  7.   

    如果是在TOAD里执行的话,按F5就可以了
      

  8.   

    直接放在 begin end 裏面運行就可以了.