- 締切済み
プロシージャ作成がしたい
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 / 警告: プロシージャが作成されましたが、コンパイル・エラーがあります。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- ossan_hiro
- ベストアンサー率66% (88/132)
MZ-80Bさんのおっしゃるように、エラーがでたら SHOW ERRORSでエラーの内容が分かります。 今回は単純に行6のo1がoi(数字の1じゃなくi(英字のアイ))に なっているだけのようですけど・・・。
- MZ-80B
- ベストアンサー率56% (46/81)
警告: プロシージャが作成されましたが、コンパイル・エラーがあります。 がでたら SHOW ERRORS と入力してください。コンパイルエラーの内容が表示されます。 精神衛生上、Object Browserなどの開発ツールを使った方が良いです。 オラクルからも無償のツールが提供されています。
お礼
ありがとうございます。 開発ツールをダウンロードしてみます!
- toshi_2000
- ベストアンサー率30% (306/1002)
6 o1 = i1 + i2;の「=」の前に「:」が必要です。
補足
ご回答ありがとうございます。 今度は「:」をつけて実行してみましたが やはり同じ内容のエラーが発生してしまいました。 ↓ ↓ ↓ 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に対して何か必要な設定等があるのでしょうか?
お礼
ご指摘ありがとうございます。 早速きちんとコーディングしなおして試してみます!