爲什麼我會收到此錯誤,以及解析的語句是什麼意思。爲什麼我得到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
是的選擇作爲一個單一的聲明,它發生在我執行程序時。它編譯沒有錯誤。 –