【问题标题】:Oracle 10g A cursor with parameter ErrorOracle 10g 带参数的游标 Error
【发布时间】:2014-04-25 11:52:38
【问题描述】:

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

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. 声明
  2. CURSOR c_cust(p_city VARCHAR2) 是
  3. SELECT * FROM cust WHERE cust.city=p_city;**

【问题讨论】:

  • "Oracle 无法正常工作" 是一个很好的声明...
  • 是 :) 编辑了线程名称。

标签: oracle


【解决方案1】:

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

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

如果你错过了结局;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-21
    • 1970-01-01
    • 1970-01-01
    • 2012-08-08
    • 2013-07-22
    • 1970-01-01
    • 1970-01-01
    • 2011-10-12
    相关资源
    最近更新 更多