2017-04-01 5 views
0

部門の従業員数を部門名でカウントするPL/SQLプロシージャを作成しようとしています。各部門には、各従業員が入社時に割り当てられる部門番号が関連付けられています。これはこれまでの私の試みです。多くの練習の後、私はまだPL/SQLで非常に不安定です。私はここにどこにでも大量の論理や構文エラーがありますか?私はここで私のためにデバッグを行うことを誰にも求めていませんが、Oracle SQLのエラー・レポートはあまり役に立ちません。答える人にはありがとうございます。PL/SQLプロシージャの問題

create or replace function NumOfEmployee_ByDept 
    (dept_name in department.Dname%type) 
    return number 
as 
    empCount number; 

begin 
    select count(*) into empCount 
    from department, employee 
    where dno = dnumber 
    and dname = dept_name; 

    return(empCount); 
end; 
+0

私はそれをテストしました。あなたの構文は大丈夫です。クライアントが最後にスラッシュブロックターミネータを必要とする可能性があります。関数をコンパイルするためにどのクライアントを使用しているか教えてください。投稿にエラーメッセージを含めることはできますか?ありがとうございます – alexgibbs

+0

あなたは何を得ていますか? 'show error'はあなたに何を与えるのですか? –

+0

コンパイルしますか? SQLクエリは単独で動作しますか?どんな問題がありますか? –

答えて

0

構文が良好であるようです。おそらく、テーブルに対する助成金には問題があります。この関数をコンパイルしようとしているスキーマが、テーブルの正しい権限を持っていることを確認します。 例外ブロックを挿入し、配信されたエラーを記録することをお勧めします。

関連する問題