2011-06-22 13 views
1

Oracle 10gをSqlDeveloperとともに使用しています。私は、次のコードを実行すると、それはは、単純なPl/SQL関数で警告を理解できません。

「FUNCTIONのwafadarコンパイル 警告:警告で完了し、実行」と言う

create or replace function wafadar 
return varchar2(10) 
is 

cursor c1 is 
SELECT employee_id,first_name FROM employees where department_id=50 ; 

begin 
    for i in c1 
    loop 
    dbms_output.put_line(i.first_name); 
    end loop; 
    return 'hello'; 
end; 

最後にSHOWのエラーも警告が表示されていません。なぜそこに警告がありますか?

+0

あなたはSQLPlusを介して実行してみてくださいことはできますか?あなたは同じ結果を得ますか? – StevieG

+0

申し訳ありませんが、ダウンロードできません(オフィス環境) – Daud

+0

マニュアルから:「SQL * Plusは、すべてのOracle Databaseインストールでインストールされる対話式およびバッチ問合せツールです。ラインユーザーインターフェイス。 – zep

答えて

8

エラーが発生しました。まず

、あなたがエラーを気にする必要があり、私はあなたがあなたの関数のreturn節に1を持っている賭け(あなたはサイズ「VARCHAR2」のを指定することはできません。

警告

あなたはマニュアルの "警告" を探していましたか?SEにどのように http://download.oracle.com/docs/cd/E11882_01/appdev.112/e17126/errors.htm#LNPLS00711

電子警告(必要なカテゴリを有効にする)

alter function wafadar compile plsql_warnings='ENABLE:ALL' reuse settings 

はチェック

select plsql_warnings 
from user_plsql_object_settings ps 
where ps.name = 'WAFADAR' 

あなたの警告:(サポートされている場合)は、SQL * PlusやSQL Developerのような

クライアントツール:

show errors 

または

select * 
from user_errors ur 
where ur.name = 'WAFADAR' 

NAME       TYPE   SEQUENCE  LINE POSITION TEXT                    ATTRIBUTE MESSAGE_NUMBER 
------------------------------ ------------ ---------- ---------- ---------- -------------------------------------------------------------------------------- --------- -------------- 
WAFADAR      FUNCTION    1   1   1 PLW-05018: unit WAFADAR omitted optional AUTHID clause; default value DEFINER us WARNING    5018 

最後に

、私はあなたが少し読むことをお勧め:

依頼する方法
  1. http://www.catb.org/~esr/faqs/smart-questions.html#before
  2. http://download.oracle.com/docs/cd/E11882_01/appdev.112/e17126/toc.htm
  3. をすべて "神託を "はここにあります:http://tahiti.oracle.com/
  4. SQL Developerの神託は(あなたがそれを使用したい場合は!):http://download.oracle.com/docs/cd/E11882_01/doc.112/e12152/toc.htm
+0

素敵な説明+1 – tbone

関連する問題