我有一个游标,用于将员工数据从临时表插入到主表。我有一个场景,首先将检查主部门表中是否存在临时表部门ID;如果DeptId
不存在,则不要插入employee并更新临时表中的ERR_MSG列。我在INSERT语句后的if条件中处理异常,但这给了我
期望以下其中一项时遇到符号EXCEPTION:开始,结束,大小写,其他...
示例代码如下:-
DECLARE
--var list
BEGIN
OPEN ltempCur For
-- here i am selecting cols from temp table in variables
LOOP
FETCH ltempCur
INTO
--all the declared variables here
EXIT
WHEN ltempCur %NOTFOUND;
BEGIN
--select statement for checking if employee record exist in table
IF(lExist == 0) --if emloyee record not exist
THEN
begin
--check if dept exist in dept table if not exist then i have assigned zero to deptid variable in NO_DATA_FOUND exception
end;
IF(vardeptid > 0) --if condition for which i have mentioned in description
--Insert statement for employee
EXCEPTION
WHEN OTHERS
THEN
--handling exp
COMMIT;
END;
END IF; -- dept id check if end
--end loop -- close cursor
在上面的代码中,如果我删除了deptid
IF ELSE条件,那么它工作正常,但是在该IF条件下,它给出了错误
答案 0 :(得分:0)
如果有两个IF子句,则有一个结尾。可能您尚未结束变量lExists的IF子句。