1
--Below is for testing only - to be deleted later
CREATE OR REPLACE PROCEDURE movie_rental_sp 
    (movieIdCount IN OUT NUMBER,
    movieID IN OUT NUMBER)
IS
noMovie EXCEPTION;
BEGIN
SELECT MOVIE_ID, count(movie_id)
    INTO movieIdCount
    FROM MM_MOVIE
    WHERE MOVIE_ID = movieID;
IF movieIdCount = 0 THEN
RAISE noMovie;
END IF;


EXCEPTION
    WHEN noMovie THEN
    DBMS_OUTPUT.PUT_LINE('No movies found');
END;
/

警告: プロシージャはコンパイル エラーで作成されました。

SQL> show errors PROCEDURE MOVIE_RENTAL_SP のエラー:

LINE/COLエラー


7/1 PL/SQL: SQL ステートメントは無視されました 9/2 PL/SQL: ORA-00947: 値が不十分です

4

2 に答える 2

0

SELECT には 2 つの列がありますが、INTO には 1 つの変数しかありません。

于 2013-03-27T05:05:41.697 に答える
0

select ステートメントを次のように変更します。

SELECT MOVIE_ID, count(movie_id)
INTO movieID , movieIdCount
.....
于 2013-03-28T02:11:28.270 に答える