create or replace procedure updateTB_YU(bigclass  varchar2,hight  varchar2,part  varchar2,body_type  varchar2,
                                          modify_begin  number,modify_end  number,initialization  number,stepNum  number)
 
 as
       loopNum number; 
       tag_body number;
       modifyNum number;
       initialization1 number;
       moidfy_begin1 number;
 begin
      initialization1:=initialization;
      moidfy_begin1:=modify_begin;
     loopNum:=(modify_end-modify_end)/2+2;
     tag_body:=1;
     while(tag_body<loopNum) loop  
            modifyNum:=-1;
            while(modifyNum<2) loop       ----固定的调整参数 -3~3                                                  
                        update YU set YUPARAMTER =to_char(initialization1,'999.9') WHERE YUBIGCLASS=bigclass AND YUPART=part and yusize=hight||'/'||to_char(moidfy_begin1)||body_type||'/'||to_char(modifyNum);                
                   modifyNum:=modifyNum+1;                 
             end loop;
             initialization1:=initialization1+stepNum;
             moidfy_begin1:=moidfy_begin1+2;
             tag_body:=tag_body+1;             
       end loop  ;
 end;怎么调用?
updateTB_YU('A','B','C,'D',134,136,350,5)?

解决方案 »

  1.   

    命令窗口:
    exec updateTB_YU('A','B','C,'D',134,136,350,5);
    plsql窗口:
    call updateTB_YU('A','B','C,'D',134,136,350,5);
      

  2.   

    exec updateTB_YU('A','B','C,'D',134,136,350,5);
    提示无效sql语句 
    怎么了,我的存储过程有错,还是参数有错啊?
      

  3.   

    在PL/SQL中先测试一下你的过程有没有问题 如果没有在执行
    begin
    updateTB_YU('A','B','C,'D',134,136,350,5); 
    end;
      

  4.   

    begin updateTB_YU('A','B','C,'D',134,136,350,5); end;