有一张表TESETA(id number(10),name varchar2(20))
我想创建一个存储过程,如果0<=id<10时update将name附值为'你好',如果10<=id<=20时update将name字段附值为'你也好'
请问哪位大侠帮忙解决一下
谢谢!!!!!!!!

解决方案 »

  1.   

    create or replace procedure sp_test is
    begin
    update TESETA set name=(case when id<10 and id>=0 then '你好'
                                when id<=20 and id>=10 then '你也好' end);
    end;
      

  2.   

    create or replace procedure sp_test(
    p_id TESETA.id%type
    )
    as
    begin
      if p_id >=0 and p_id <10 then
         update TESETA set name = '你好' where id >=0 and id < 10;
      end if;
      if p_id >= 10 and p_id < 20 then
         update TESETA set name = '你也好' where id >=10 and id <= 20;
      end if;
    end sp_test;
      

  3.   

    mantisXF(枫の叶)的代码
    ORACLE中编译出现如下错误
    行号= 0 列号= 0 错误文本= PL/SQL: Compilation unit analysis terminated
    行号= 2 列号= 6 错误文本= PLS-00201: 必须说明标识符 'TESETA.ID'
      

  4.   

    呵呵 搞定了 谢谢 hongqi162(失踪的月亮)