PLS-00103:在检查绑定变量中的值时遇到符号“EXCEPTION”错误

Posted

技术标签:

【中文标题】PLS-00103:在检查绑定变量中的值时遇到符号“EXCEPTION”错误【英文标题】:PLS-00103: Encountered the symbol "EXCEPTION" error while checking for a value in the bind variable 【发布时间】:2011-12-10 18:09:04 【问题描述】:

我执行的 PL/SQL 块出现以下错误。

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;

【问题讨论】:

【参考方案1】:

您只是缺少END IF; 声明。

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

EXCEPTION

【讨论】:

以上是关于PLS-00103:在检查绑定变量中的值时遇到符号“EXCEPTION”错误的主要内容,如果未能解决你的问题,请参考以下文章

PLS-00103:在预期以下情况之一时遇到符号“TEST_PKG”:;

程序错误 - PLS-00103 遇到符号“>”

(PLS-00103:在简单声明游标语句和循环选择数据期间遇到符号“;”)

Pl SQL Oracle PLS-00103:遇到符号“CREATE”

PLS-00103:遇到符号“END”

PLS-00103:预期时遇到符号“(”