首页 文章

Oracle 10g带参数Error的游标

提问于
浏览
0

我不明白为什么我会收到这个错误 . 我有表,但代码示例不能正常工作 . 这有什么问题?

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:遇到符号“;”当期望以下之一时:如果DECLARE CURSOR c_cust(p_city VARCHAR2)是SELECT * FROM cust WHERE cust.city = p_city; **

1 回答

  • 1

    c_cust%ISOPEN 应该在结束循环之前;

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

    如果你错过了结局;

相关问题