只是最简单的一个select的游标,却出错
create or replace procedure temp1 as
    declare a integer;    ---提示这里出错
    cursor cur is select col1 from table1 ;
    begin
    open cur;
    loop
        fetch cur into a;
        exit when cur%notfound;
    end loop;
    close cur ;
    end;
    end temp1;
在PL/SQL developer中提示:
Error: PLS-00103: 出现符号 "DECLARE"在需要下列之一时:
        begin function package
          pragma procedure subtype type use <an identifier>
          <a double-quoted delimited-identifier> form current cursor
          external language
       符号 "begin" 被替换为 "DECLARE" 后继续。
Line: 2
Text: declare a integer;
declare那行被标成了黄色,我不知怎么改,请大家帮助我。我是初学ORACLE。先谢谢。

解决方案 »

  1.   

    CREATE OR REPLACE PROCEDURE temp1 AS
    a INTEGER; ---提示这里出错 
    CURSOR cur IS
    SELECT col1
    FROM table1;
    BEGIN
    OPEN cur;
    LOOP
    FETCH cur
    INTO a;
    EXIT WHEN cur%NOTFOUND;
    END LOOP;
    CLOSE cur;
    END;这样试试。
      

  2.   

    procedure.function.package都默認的有聲明的部分,不需要額外的再DECLARE,以后記住就OK了!