0

以下は私が作成した手順です。私がそれを実行すると、「コンパイルエラーで作成されたプロシージャ」が表示されます。以下のプロシージャコードでどこを間違えたのかわかりません。誰かがコードのエラーを見つけて助けてくれます

create or replace PROCEDURE newprocedur(inMerid IN VARCHAR2,outCount OUT NUMBER) AS  
  CURSOR c1 IS 
    select CLIENT_COUNT 
     from OP_TMER_CONF_PARENT 
    where MER_ID = inMerid 
    FOR UPDATE OF CLIENT_COUNT;
BEGIN
  Open c1
  loop
    fetch c1 into outCount;
    exit when c1%NOTFOUND;
    outCount:=outCount+1;
    update OP_TMER_CONF_PARENT 
       set CLIENT_COUNT = outCount 
     where current of c1;
  end loop;
  close c1;
END;

前もって感謝します

4

2 に答える 2

3

1-エラーをチェックし、エラーがどこにあるかを確認しますここ
を 参照してください

2-5行目でセミコロンを見逃しました-

Open c1;
于 2012-10-30T11:20:36.360 に答える
1

SQL * Plusでは、コマンドを使用できます

show errors

コンパイルされたばかりのPL/SQLコードのエラーを表示します。http://docs.oracle.com/cd/B19306_01/server.102/b14357/ch12041.htmを参照してください

私はPL/SQL Developerに精通していませんが、TOADはこれを自動的に実行し、エラーを表示して、エラーを含む行にすばやくジャンプできるようにします。

于 2012-10-30T11:19:22.597 に答える