没弄懂,干么要not in  用!=不就可以了么
你是不是判断fcode是不是在10,1001,1002这三个数里面吧,那样写是一个,不是三个
你可以用可变数组来实现

解决方案 »

  1.   

    我的意思就是想判断fcode不在10,1001,1002三者中,所以使用not in ()方法.
      

  2.   

    p_grant('10','10,1001,1002','1')
    p_grant('10','''10'',''1001'',''1002''','1')???
    试一下
      

  3.   

    daihaidong(东) :
    你的方法也不行。
    我的目的就是为了在存储过程中根据传入的参数值来生成
    DELETE FROM TEST WHERE FCODE NOT IN ('10','1001','1002')的语句

    DELETE FROM TEST WHERE FCODE NOT IN (10,1001,1002)的语句
    不知如何传入参数值才能生成该SQL语句。或者如何写存储过程中的
    DELETE FROM TEST WHERE RCODE=vRCode AND FCODE NOT IN (vFCode);语句。wylwyl1130(落雪山林) :
    请问如何使用可变数组方式。
      

  4.   

    WHERE RCODE=vRCode AND FCODE NOT IN (vFCode);
    加''并用()把各个条件扩扩来
      

  5.   

    procedure p_grant(vRCode in varchar2,vFCode in varchar2,vCreateBy in char)
    as
    sqlstr varchar2(1000);
    begin
      sqlstr:='DELETE FROM TEST WHERE RCODE='||vRCode||' AND FCODE NOT IN ('||vFCode||')';
      execute immediate sqlstr;
      commit;
      EXCEPTION
        WHEN OTHERS THEN
           rollback;
    end;