Доступ к таблице другого пользователя в рамках хранимой процедуры Oracle

Я пишу хранимую процедуру для копирования данных из таблицы одного пользователя в другую схему. По сути, это серия операторов 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 , но безрезультатно.

Что еще я могу сделать? Я почти подошел к концу своих идей.

15
задан OMG Ponies 25 March 2011 в 23:23
поделиться