Acessando a Tabela de Outro Usuário em um Procedimento Armazenado Oracle
Estou escrevendo um procedimento armazenado para copiar dados da tabela de um usuário para outro esquema. Basicamente, é uma série de instruções INSERT .. SELECT, como esta:
INSERT INTO GESCHAEFTE
SELECT *
FROM TURAT03.GESCHAEFTE
WHERE kong_nr = 1234;
Isso funciona bem ao emitir a partir do sqlplus (ou TOAD para mim ;-)), então eu sei que tenho privilégios suficientes, mas quando isso faz parte do procedimento armazenado como este:
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;
Eu recebo um erro do Oracle:
[Error] ORA-00942 (11: 22): PL/SQL: ORA-00942: table or view does not exist
Como você pode ver, eu já inseri umAUTHID
, mas sem sucesso.
O que mais eu posso fazer? Estou praticamente no final das minhas idéias aqui.