PL/SQL 语句被忽略且值不足

Posted

技术标签:

【中文标题】PL/SQL 语句被忽略且值不足【英文标题】:PL/SQL Statements ignored & Not enough values 【发布时间】:2013-03-27 04:58:47 【问题描述】:
--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> 显示错误 PROCEDURE MOVIE_RENTAL_SP 的错误:

行/列错误


7/1 PL/SQL:忽略 SQL 语句 9/2 PL/SQL:ORA-00947:没有足够的值

【问题讨论】:

【参考方案1】:

您的 SELECT 有 2 列,但您的 INTO 只有 1 个变量。

【讨论】:

【参考方案2】:

将选择语句更改为,

SELECT MOVIE_ID, count(movie_id)
INTO movieID , movieIdCount
.....

【讨论】:

以上是关于PL/SQL 语句被忽略且值不足的主要内容,如果未能解决你的问题,请参考以下文章

PL/SQL: SQL 语句被忽略 - 创建一个过程得到编译错误

自定义 SQL 函数 - PL/SQL:语句被忽略

第 2 行的错误:PL/SQL:语句被忽略

ORACLE:错误错误(6,3):PL/SQL:SQL 语句被忽略和错误(8,3):PL/SQL:ORA-00933:SQL 命令未在过程中正确结束

PLS-00382:表达式类型错误,PL/SQL:语句被忽略

PL/SQL:PLS-00382:表达式类型错误。语句被忽略