Oracle 10g A光标出现参数错误

Oracle 10g A光标出现参数错误,oracle,Oracle,我不明白为什么会出现这个错误。我有这个表,但是代码示例工作不正常。这里有什么问题 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);

我不明白为什么会出现这个错误。我有这个表,但是代码示例工作不正常。这里有什么问题

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: 遇到符号“ 当预期以下情况之一时:如果

  • 申报
  • 光标c_cust(p_city VARCHAR2)为
  • 从cust中选择*,其中cust.city=p_city**
    c_cust%ISOPEN
    应在结束循环之前

    If .... then
      ....
    end if;
    
    如果你错过了结局

    “Oracle无法正常工作”是一个很好的说法…是:)编辑了线程名称。