执行PL/SQL条件语句时出现问题
问题描述:
当我尝试基于另一个表列值更新少数表ebtries时,我遇到以下问题。执行PL/SQL条件语句时出现问题
PL/SQL查询:
DECLARE
buildVal NUMBER;
BEGIN
SELECT BUILDVERSION
INTO buildVal
FROM WCSDBA.BUILDDETAILS
WHERE BUILDID =1;
IF (buildVal = 0) THEN
UPDATE WCSDBA.BUILDDETAILS
set BUILDVERSION = 1,
BUILDDESCRIPTION = 'FirstVersion'
WHERE BUILDID =1;
commit;
END IF;
END;
例外:
Query failed because:
ORA-06550: line 9, column 3:
PLS-00103: Encountered the symbol "end-of-file" when expecting one of the following: ; The symbol ";" was substituted for "end-of-file" to continue.
在同一
答
DECLARE
buildVal NUMBER;
BEGIN
SELECT BUILDVERSION INTO buildVal FROM WCSDBA.BUILDDETAILS WHERE BUILDID =1;
IF (buildVal = 0) THEN
UPDATE WCSDBA.student set stVersion =1;
UPDATE WCSDBA.BUILDDETAILS set BUILDVERSION = 1, BUILDDESCRIPTION = 'FirstVersion' WHERE BUILDID =1; --in this line
commit;
END IF; -- here
END;
任何帮助或建议,试试这个,请,你忘了分号后END IF
和分隔的更新列由and
代替逗号
+0
尝试了您的建议,但仍然遇到问题。在问题中更新了查询和异常。我错过了其他任何东西 –
+0
@SQLLearner您确定您已正确连接到数据库吗?因为当我在我的db中运行这个脚本时,我没有得到关于语法的任何异常,只有那个说我没有这些表的语句,这意味着语法是OK – Hatik
我认为各种修订和编辑可能已经失去了原始错误和行号。你最初在第二次更新过程中出现了“AND”杂项的语法错误,并且在END IF之后丢失了';'。这两个现在都走了,第9行是'UPDATE'。你能确认当前的错误信息和行号吗? –