我 一段
  declare v_emp t_user_p.employee_id%type ;     cursor   c_user is select t_user_p.employee_id    from t_user_p ;
    begin 
     open c_user;
   loop  
     fetch c_user into v_emp ;
        exit when  c_user%NOTFOUND ;
     
        if :v_emp = '09091214' then
          goto X;
        end if ;
        --  DBMS_OUTPUT.PUT_LINE(:v_emp);  
          <<X>>
     end loop ;
     close c_user;
    end 
执行总是倒数第三行的end loop那里报错
  
  declare v_emp t_user_p.employee_id%type ;     cursor   c_user is select t_user_p.employee_id    from t_user_p ;
    begin 
     open c_user;
   loop  
   
     end loop ;
     close c_user;
    end ;
这样执行还是倒数第三行的end loop报错,
去掉最后一行end后的分号还是end loop报错,
环境是pl/sql

解决方案 »

  1.   

    请各位帮忙啊,刚用oracle,没想到搞一个脚本就难住了,在线等。
      

  2.   

    DECLARE
      v_emp NUMBER;  CURSOR c_user IS
        SELECT vendor_id FROM tsp_ems_t;
    BEGIN
      OPEN c_user;
      LOOP
        FETCH c_user
          INTO v_emp;
        EXIT WHEN c_user%NOTFOUND;
      
        IF v_emp = 9091214
        THEN
          GOTO x;
        END IF;
        -- DBMS_OUTPUT.PUT_LINE(:v_emp);   
      END LOOP;
      <<x>> 
      CLOSE c_user;
    END;再pl/sql developer 中是没问题
      

  3.   


    Declare
      v_Emp Varchar2(8) := '';  Cursor c_User Is
        Select t_User_p.Employee_Id From t_User_p;
    Begin
      Open c_User;
      Loop
        Fetch c_User
          Into v_Emp;
        Exit When c_User%Notfound;
        If v_Emp = '09091214' Then
          Goto x;
        End If;
        <<x>>
        Null;
      End Loop;
      Close c_User;
    End;
    在 <<x>>下面加上null;
      

  4.   

    DECLARE
      v_emp NUMBER;  CURSOR c_user IS
      SELECT vendor_id FROM tsp_ems_t;
    BEGIN
      OPEN c_user;
      LOOP
      FETCH c_user
      INTO v_emp;
      EXIT WHEN c_user%NOTFOUND;
       
      IF v_emp = '9091214'
      THEN
      GOTO x;
      END IF;
      <<x>> DBMS_OUTPUT.PUT_LINE(v_emp);  
      END LOOP;
      CLOSE c_user;
    END;
    跳转到X时  好像得做点事 
      

  5.   

    正确,goto标签后必须紧跟一个可执行的语句,不能是end...之类的语句结束标志。
    null;也是一个可执行的语句!!