2017-11-27 5 views
-2

エラーを見つけるのを手伝ってくれる人がいますか?SQL PLUSの機能

SQL> CREATE OR REPLACE FUNCTION get_pri 
    2 (name MENU.ITEM_NAME%TYPE,QUANTITY IN NUMBER) RETURN NUMBER IS 
    3 pri MENU.ITEM_PRICE%TYPE ; 
    4 BEGIN 
    5 SELECT ITEM_PRICE 
    6 INTO pri 
    7 FROM MENU 
    8 WHERE ITEM_NAME = name; 
    9 RETURN (pri*QUANTITY) ; 
    10 END get_pri; 
    11/

    Warning: Function created with compilation errors. 
+8

'show error;'と表示されているものを確認する – are

+1

この特定の関数について心配する前に、コンパイルエラーを表示することに慣れておくとよいでしょう。 –

答えて

1

機能コードが正しく表示されます。

だから、テーブルとカラムの参照が疑わしい。この関数をコンパイルしようとしているスキーマにテーブルMENUがありますか?それが別のスキーマにある場合は、表名の前にスキーマ名を付ける必要があります。

テーブルMENUには、カラムITEM_NAMEITEM_PRICEがありますか?もちろん

、私は自分のスキーマ内の表MENUを持っていませんでした。 ITEM_NAMEITEM_PRICEの2つの列を作成した後、エラーなく関数をコンパイルすることができたので、これが問題であることはほぼ確実です。