Ваше объяснение имеет большой смысл.
у хранимую процедуру для копирования данных из таблицы одного пользователя в другую схему. По сути, это серия операторов INSERT .. SELECT, например:
INSERT INTO GESCHAEFTE
SELECT *
FROM TURAT03.GESCHAEFTE
WHERE kong_nr = 1234;
Это прекрасно работает при выдаче из sqlplus (или TOAD для меня ;-)), так что я знаю, что у меня достаточно прав, но когда это является частью хранимой процедуры, как это:
CREATE OR REPLACE FUNCTION COPY_KONG
(pKongNr IN NUMBER)
RETURN NUMBER
AUTHID CURRENT_USER
IS
BEGIN
INSERT INTO GESCHAEFTE
SELECT *
FROM TURAT03.GESCHAEFTE
WHERE kong_nr = pKongNr;
END;
Я получаю ошибку Oracle:
[Error] ORA-00942 (11: 22): PL/SQL: ORA-00942: table or view does not exist
Как видите, я уже вставилAUTHID
, но безрезультатно.
Что еще я могу сделать? Я в значительной степени в конце моих идей здесь.