0
的Apex 4.2PL/SQL错误和嵌套IF语句
我有以下的PL/SQL代码下面的框,但每当我在APEX运行它,我不断收到错误:
ORA-06550:行35,第4栏:PLS-00103:遇到符号“;”当期望以下之一时:如果
DECLARE
show_changes BOOLEAN;
l_exists INTEGER;
BEGIN
Select count(*) into l_exists
From dba_role_privs
where grantee = upper(:APP_USER) and
(granted_role = 'SURVEY_JOB_SUID' or granted_role = 'SURVEY_SUID');
IF l_exists = 0 THEN /* unauthorized */
IF :P32_SURVEY_JOB_REQUEST_ID IS NOT NULL AND (:P32_SUBMISSION_DATE IS NULL AND :P32_LOCK_DATE IS NULL) THEN
show_changes := TRUE;
IF :P32_SURVEY_JOB_REQUEST_ID IS NOT NULL AND (:P32_SUBMISSION_DATE IS NOT NULL AND :P32_LOCK_DATE IS NULL) THEN
show_changes := TRUE;
IF :P32_SURVEY_JOB_REQUEST_ID IS NOT NULL AND (:P32_SUBMISSION_DATE IS NOT NULL AND :P32_LOCK_DATE IS NOT NULL) THEN
show_changes := FALSE;
END IF;
ELSE /* authorized */
IF :P32_SURVEY_JOB_REQUEST_ID IS NOT NULL AND (:P32_SUBMISSION_DATE IS NULL AND :P32_LOCK_DATE IS NULL) THEN
show_changes := TRUE;
IF :P32_SURVEY_JOB_REQUEST_ID IS NOT NULL AND (:P32_SUBMISSION_DATE IS NOT NULL AND :P32_LOCK_DATE IS NULL) THEN
show_changes := TRUE;
IF :P32_SURVEY_JOB_REQUEST_ID IS NOT NULL AND (:P32_SUBMISSION_DATE IS NOT NULL AND :P32_LOCK_DATE IS NOT NULL) THEN
show_changes := TRUE;
END IF;
Return show_changes;
END;
我不确定是什么问题。任何帮助将不胜感激。提前致谢。
你'IF'-条件选择语句的语法错误。请查看[PL/SQL控制语句](http://docs.oracle.com/cd/E11882_01/appdev.112/e17126/controlstatements.htm)。 – user272735