为什么我会收到此错误,以及解析的语句是什么意思。为什么我得到ORA-01003:没有语句解析错误?
ORA-01003: no statement parsed
下面是代码:
PROCEDURE ORIGINAL_TABLE.UPDATE_GROUPS IS
-- cursor loaded with the swam groups
CURSOR cursor1 IS
SELECT ID, NEW_DESCRIPTION
FROM [email protected]_LINK.X;
BEGIN
FOR C1_REC IN cursor1 LOOP
UPDATE
ORIGINAL_TABLE."GROUPS"
SET
GROUP_ID = C1_REC.ID
WHERE
ORIGINAL_TABLE."GROUPS".DESCRIPTION = C1_REC.NEW_DESCRIPTION;
IF (SQL%ROWCOUNT = 0) THEN
INSERT INTO
ORIGINAL_TABLE.GROUPS("GROUP_ID", "DESCRIPTION")
VALUES (C1_REC.ID, C1_REC.NEW_DESCRIPTION);
END IF;
END LOOP;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line(SQLERRM);
END;
我试着用上面的代码做的是更新和旧表中的值的新表,并在情况下,新的组没有按”存在插入它。
更新:更改了%ROWCOUNT> 0%ROWCOUNT = 0
您是否在另一窗口中测试了光标查询?我认为这是因为查询 – HRgiger
这是当你编译过程或当你执行它?你有线吗?也许你需要删除测试的异常。还有什么让我困惑的是,为什么当SQL%ROWCOUNT'is> 0应该不是= 0时插入呢?但那不是你的问题。是的,选择是否作为一个单一的声明? – hol
是的选择作为一个单一的声明,它发生在我执行程序时。它编译没有错误。 –