create or replace procedure P_WJ_LOG (DOING IN VARCHAR2(50)) is
 LOG_ID NUMBER(12)
begin
   SELECT ID INTO LOG_ID FROM WJ_LOG_ID;
   INSERT INTO YJ_WJ_LOG(ID,LOG) VALUES(LOG_ID,DOING);
end P_WJ_LOG;

解决方案 »

  1.   

    语法有误
    改为
    create or replace procedure P_WJ_LOG (DOING IN VARCHAR2) is
     LOG_ID NUMBER(12);
    begin
       SELECT ID INTO LOG_ID FROM WJ_LOG_ID;
       INSERT INTO YJ_WJ_LOG(ID,LOG) VALUES(LOG_ID,DOING);
    end P_WJ_LOG;
      

  2.   

    过程的形参不需指定长度
    create or replace procedure P_WJ_LOG (DOING IN VARCHAR2) is
      LOG_ID NUMBER(12);
      

  3.   

    create or replace procedure P_WJ_LOG (DOING IN VARCHAR2) 
    as
     --LOG_ID NUMBER(12);
     cursor t_sor is
     select id from WJ_LOG_ID;
    begin
     for v_sor in t_sor loop
      INSERT INTO YJ_WJ_LOG(ID,LOG) VALUES(v_sor.id,DOING);
     end loop;
    end P_WJ_LOG;
      

  4.   

    你的存储过程在SQLPLUS中通不过时,可以使用show error来看有什么问题的。
      

  5.   

    将参数改成  DOING YJ_WJ_LOG.LOG%TYPE  可以了,为什么?