2014-04-25 29 views
0

我不明白爲什麼我會得到這個錯誤。我有桌子,但代碼示例工作不正常。這裏有什麼問題?Oracle 10g一個帶參數的遊標錯誤

DECLARE 
    CURSOR c_cust(p_city VARCHAR2) IS 
     SELECT * FROM cust WHERE cust.city=p_city; 
    v_cust c_cust%ROWTYPE; 
    v_city c_cust%TYPE; 
BEGIN 
    v_city := 'London'; 
    OPEN c_cust (v_city); 
    LOOP 
     FETCH c_cust INTO v_cust; 
     EXIT WHEN (c_cust%NOTFOUND); 
     DBMS_OUTPUT.PUT_LINE (v_cust.cname || ' has ' || v_cust.rating); 
    END LOOP; 
    IF (c_cust%ISOPEN) THEN CLOSE c_cust; 
END; 

ORA-06550:線15,第4欄:PLS-00103: 出現符號 「;」 在需要下列之一時:如果

  1. DECLARE
  2. CURSOR c_cust(p_city VARCHAR2)IS
  3. SELECT * FROM CUST WHERE cust.city = p_city; **
+1

「* Oracle不能正常工作*」是一個相當的陳述... –

+0

是:)編輯線程名稱。 –

回答

1

c_cust%ISOPEN應該在結束循環之前;

If .... then 
    .... 
end if; 

you miss end if;

+0

直指點!謝謝!!! –