Acceder a la tabla de otro usuario dentro de un Procedimiento almacenado de Oracle
Estoy escribiendo un procedimiento almacenado para copiar datos de la tabla de un usuario a otro esquema. Básicamente, es una serie de instrucciones INSERT .. SELECT como esta:
INSERT INTO GESCHAEFTE
SELECT *
FROM TURAT03.GESCHAEFTE
WHERE kong_nr = 1234;
Esto funciona bien cuando se emite desde sqlplus (o TOAD para mí ;-)), así que sé que tengo suficientes privilegios, pero cuando esto es parte de un procedimiento almacenado 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;
Me sale un error de Oracle:
[Error] ORA-00942 (11: 22): PL/SQL: ORA-00942: table or view does not exist
Como puede ver, ya he insertado unAUTHID
, pero fue en vano.
¿Que más puedo hacer? Estoy casi al final de mis ideas aquí.