create or replace
PROCEDURE OPERATEEXUSERDATAANDFLOWINF 
  (
    PHONENO IN VARCHAR2  
  , ENTERTIME IN VARCHAR2  
  , SALEPERSONNO IN VARCHAR2  
  , COUNTYID IN NUMBER  
  , FLOWUSED IN NUMBER  
  , DDAY IN VARCHAR2  
  ) AS 
  
  BEGIN
     declare userid number; 
      begin 
       insert into exuserdata(phoneno,entertime,salepersonno,countyid) 
       values(PHONENO,to_date(ENTERTIME,'YYYY-MM-DD HH24:MI:SS'),SALEPERSONNO,COUNTYID) 
       returning pid into userid; 
         insert into flowinfo(userid,flowused,day) 
         values(userid,FLOWUSED,to_date(DDAY,'YYYY-MM-DD HH24:MI:SS')); 
      end;
  END OPERATEEXUSERDATAANDFLOWINF;

解决方案 »

  1.   

    可否将to_date()的开销改在调用procedure之前完成
      

  2.   

    就是先把日期格式化好再调用procedure
      

  3.   


    定义个日期类型的变量
    ENTERTIME和DDAY 这个2个字符串类型的先转换成日期格式 然后在执行。。
      

  4.   

    pid 字段是用的递增触发器么?如果是的话,就好将其触发器去掉,在存储过程中一步到位,其速度远比用触发器快!