首页 > 解决方案 > 我该如何解决这个问题?(顶点甲骨文)

问题描述

declare
user_id number(10);

begin
    if(P10_USER_TYPE = 'FACULTY') then
        user_id := :P10_BORROWER_FACULTY;
        insert into LMS_BOOK_ISSUE(BOOK_ISSUE_ID,BOOK_ID,BORROWER_ID,ISSUED_BY,BORROWED_FROM_DATE,BORROWED_TO_DATE,BORROWER_TYPE,BOOK_RT_STATUS) 
        values (LMS_BOOK_ISSUE_SEQ.nextval,**;P10_BOOK_NAME,user_id, 1, :P10_BORROWED_DATE,:P10_FACULTY_RET_DATE,'FACULTY',1** );

    update LMS_BOOK_DETAIL set BOOK_NO_OF_COPIES_CURRENT = BOOK_NO_OF_COPIES_CURRENT-1 where BOOK_ID=:P10_BOOK_NAME;

    else
        user_id := :P10_STUDENT;
        insert into LMS_BOOK_ISSUE(BOOK_ISSUE_ID,BOOK_ID,BORROWER_ID,ISSUED_BY,BORROWED_FROM_DATE,BORROWED_TO_DATE,BORROWER_TYPE,BOOK_RT_STATUS) 
        values (LMS_BOOK_ISSUE_SEQ.nextval,;P10_BOOK_NAME,user_id, 1, :P10_BORROWED_DATE,:P10_FACULTY_RET_DATE,'STUDENT',1 );

    update LMS_BOOK_DETAIL set BOOK_NO_OF_COPIES_CURRENT = BOOK_NO_OF_COPIES_CURRENT-1 where BOOK_ID=:P10_BOOK_NAME;

    end if;

end;

它说

ORA-06550:第 8 行,第 44 列:PL/SQL:ORA-00936:缺少表达式

我该如何解决?

标签: oracleoracle-apex

解决方案


我没有您的表格,因此无法对其进行测试,但是 - 页面项目应在其名称前用冒号引用,而不是分号。

DECLARE
   user_id  NUMBER (10);
BEGIN
   IF (P10_USER_TYPE = 'FACULTY')
   THEN
      user_id := :P10_BORROWER_FACULTY;

      INSERT INTO LMS_BOOK_ISSUE (BOOK_ISSUE_ID,
                                  BOOK_ID,
                                  BORROWER_ID,
                                  ISSUED_BY,
                                  BORROWED_FROM_DATE,
                                  BORROWED_TO_DATE,
                                  BORROWER_TYPE,
                                  BOOK_RT_STATUS)
           VALUES (LMS_BOOK_ISSUE_SEQ.NEXTVAL,
                   :P10_BOOK_NAME,
                   user_id,
                   1,
                   :P10_BORROWED_DATE,
                   :P10_FACULTY_RET_DATE,
                   'FACULTY',
                   1);

      UPDATE LMS_BOOK_DETAIL
         SET BOOK_NO_OF_COPIES_CURRENT = BOOK_NO_OF_COPIES_CURRENT - 1
       WHERE BOOK_ID = :P10_BOOK_NAME;
   ELSE
      user_id := :P10_STUDENT;

      INSERT INTO LMS_BOOK_ISSUE (BOOK_ISSUE_ID,
                                  BOOK_ID,
                                  BORROWER_ID,
                                  ISSUED_BY,
                                  BORROWED_FROM_DATE,
                                  BORROWED_TO_DATE,
                                  BORROWER_TYPE,
                                  BOOK_RT_STATUS)
           VALUES (LMS_BOOK_ISSUE_SEQ.NEXTVAL,
                   :P10_BOOK_NAME,
                   user_id,
                   1,
                   :P10_BORROWED_DATE,
                   :P10_FACULTY_RET_DATE,
                   'STUDENT',
                   1);

      UPDATE LMS_BOOK_DETAIL
         SET BOOK_NO_OF_COPIES_CURRENT = BOOK_NO_OF_COPIES_CURRENT - 1
       WHERE BOOK_ID = :P10_BOOK_NAME;
   END IF;
END;

推荐阅读