2011-12-10 11 views
1

実行したPL/SQLブロックに対して以下のエラーが表示されます。PLS-00103:バインド変数の値をチェック中にシンボル「EXCEPTION」エラーが発生しました

ORA-06550:行16、列1:PLS-00103:以下

マイ匿名プロシージャまで正常に動作して次のいずれかを期待してのとき、シンボル "例外" を検出しました私はuser defined exception e_nonrentedを含んだ。どのような場合はbindvariable :g_movie_id=2..の値は、それが例外をスローするかどうかを確認する...以下

コードです:

VARIABLE g_movie_id NUMBER EXEC :g_movie_id := 2 
DECLARE v_count NUMBER; 
v_movieid NUMBER; 
v_title mm_movie.movie_title%TYPE; 
e_nonrented 

EXCEPTION; 
BEGIN 
    SELECT m.movie_title, 
    COUNT(r.rental_id), 
    r.movie_id 
    INTO v_title, 
    v_count, 
    v_movieid 
    FROM mm_movie m, 
    mm_rental r 
    WHERE m.movie_id = r.movie_id 
    AND m.movie_id = :g_movie_id 
    GROUP BY m.movie_title, 
    r.movie_id; 
    DBMS_OUTPUT.PUT_LINE(v_title || ': ' || v_count); 

    IF :g_movie_id = 2 THEN 
    RAISE e_nonrented; 

    EXCEPTION 
    WHEN no_data_found THEN 
    DBMS_OUTPUT.PUT_LINE('there is no movie id for: ' || :g_movie_id); 
    WHEN e_nonrented THEN 
    DBMS_OUTPUT.PUT_LINE(' Movie with Id '); 
    END; 

答えて

6

あなたは単にEND IF;文を逃しています。

IF :g_movie_id = 2 THEN 
    RAISE e_nonrented; 
    END IF; 

EXCEPTION 
+0

ああ神!!!そのようなばかげたミス!!!おかげで多くのマット:) –

関連する問題