PL/SQL 和SQLPLUS 解释的方式略有不同

解决方案 »

  1.   

    需要分开写
    select count(*) into varName from dual;
    if varName=1 then
    update ……
      

  2.   

    declare
    varName number;
    begin
    select count(*) into varName from test;
    if varname=1 then
    Update test Set rem = '11';
    end if;
    end;
    /
      

  3.   

    可以用exits 方法实现。不过,这样有可能会降低语句的执行速度
    不过,用procedure 分步骤实现也是可以的
    create or replace procedure sp_name(name in type...)
    as 
    varnum number;
    begion 
    ....
    select count(*) into varnum from table_name;
    if varnum=1 then
    update table_name set rem='11';
    commit
    end if;
    ......
    exception 
    when others then rollback;
    end ;