• 締切済み

プロシージャ作成がしたい

SQL*Plusに下記のコードを記述したところ 「警告~」という内容のエラーが起こってしまいました。 どうしてコンパイルがうまくいかないのでしょうか? 初めてPL/SQLを勉強しているのでひとりで長いこと悩んでます。。。 どなたかご協力お願いします! SQL> CREATE OR REPLACE PROCEDURE ProcA( 2 i1 IN NUMBER, 3 i2 IN NUMBER, 4 o1 OUT NUMBER) IS 5 BEGIN 6 o1 = i1 + i2; 7 RETURN; 8 END; 9 / 警告: プロシージャが作成されましたが、コンパイル・エラーがあります。

みんなの回答

回答No.3

MZ-80Bさんのおっしゃるように、エラーがでたら SHOW ERRORSでエラーの内容が分かります。 今回は単純に行6のo1がoi(数字の1じゃなくi(英字のアイ))に なっているだけのようですけど・・・。

HANNO
質問者

お礼

ご指摘ありがとうございます。 早速きちんとコーディングしなおして試してみます!

  • MZ-80B
  • ベストアンサー率56% (46/81)
回答No.2

警告: プロシージャが作成されましたが、コンパイル・エラーがあります。 がでたら SHOW ERRORS と入力してください。コンパイルエラーの内容が表示されます。 精神衛生上、Object Browserなどの開発ツールを使った方が良いです。 オラクルからも無償のツールが提供されています。

参考URL:
http://otn.oracle.co.jp/software/products/sql/index.html
HANNO
質問者

お礼

ありがとうございます。 開発ツールをダウンロードしてみます!

  • toshi_2000
  • ベストアンサー率30% (306/1002)
回答No.1

6 o1 = i1 + i2;の「=」の前に「:」が必要です。

HANNO
質問者

補足

ご回答ありがとうございます。 今度は「:」をつけて実行してみましたが やはり同じ内容のエラーが発生してしまいました。   ↓    ↓    ↓ SQL> CREATE OR REPLACE PROCEDURE ProcA( 2 i1 IN NUMBER, 3 i2 IN NUMBER, 4 o1 OUT NUMBER) IS 5 BEGIN 6 oi := i1 + i2; 7 RETURN; 8 END; 9 / 警告: プロシージャが作成されましたが、コンパイル・エラーがあります PL/SQLをコーディングするうえで SQL*Plusに対して何か必要な設定等があるのでしょうか?

関連するQ&A