プロシージャのWHERE句でIF/ELSEを実行しようとしていますが、正しく機能していないようです。私はそれを正しく構成しているかどうかはわかりません。PL/SQL:ORA-00933:SQLコマンドが正しく終了しません
は、私はPL/SQLを取得:ORA-00933:SQLコマンドが正常に終了しない "p_job_yearがNULLでない場合、"
これは私が持っているものです:
WHERE
(val1s.val1 = p_val1 OR p_val1 IS NULL) AND
(UPPER(val2s.val2) LIKE UPPER(p_val2) OR p_val2 IS NULL) AND
(jp.row_top.job_type_id = p_job_type_id OR p_job_type_id IS NULL)
AND ntab.group_id = pgds.id(+)
AND jp.row_top.val1_id = val1s.id(+)
AND val1s.val2_id = val2s.id(+)
IF p_job_year IS NOT NULL THEN <<<<<<<< ERROR HERE
AND p_job_year = ntab.fiscal_year(+)
AND jp.jobload_year = p_job_year
AND jp.row_top.fiscal_year = p_job_year
ELSE
AND jp.jobload_year < TO_CHAR(ADD_MONTHS(CURRENT_DATE, -24),'YYYY')
AND jp.row_top.fiscal_year < TO_CHAR(ADD_MONTHS(CURRENT_DATE, -24),'YYYY')
END IF;
AND JP.VER = (select MAX(jp2.ver) from job_plans jp2
WHERE JP.ID_NUMBER = JP2.ID_NUMBER)
AND jack_work_pkg.get_last_jack_work_first_type(jp.id) != 1;
RETURN result_cur;
END summarize_work_data;
こんにちは、ありがとうございました...私は打撃を与えようとしています –
感謝の男...それは働いた –