Mam pewien problem.
Posiadam dwoch uzytkownikow: TEST_OI i TEST_OI_ST
Na uzytkowniku TEST_OI_ST tworze package: PK o tresci:
create or replace PACKAGE "PK AS
PROCEDURE PR_1;
PROCEDURE PR_2;
END PK;
Nastepnie chce utworzyc package body:
create or replace PACKAGE BODY "PK" AS
PROCEDURE PR_1 AS
BEGIN
merge into **TEST_OI.T_SPR** x
using (
code
) ;
update **TEST_OBI.t_spr**
code
end;
update **TEST_OI.T_OS** code ;
update **TEST_OI.T_OS2** code ;
END PR_1;
PROCEDURE PR_2 AS
BEGIN
merge into **TEST_OI.T_D_P** a
using(
code b
) b
code;
END PK
Problem pojawia sie gdy kompiluje:
5,15 PL/SQL: SQL Statement ignored ERROR
5,35 PL/SQL: ORA-00942: table or view does not exist ERROR
Tak jakby uzytkownik T_OI_ST nie widzial tabeli T_OI.T_SPR i wszystkich innych ze schematu T_OI.
Jednak jak zrobie na uzytkowniku T_OI_ST zapytanie, np:
select * from T_OI.T_SPR;
To zapytanie dziala poprawnie, rowniez dla innych tabel z tego uzytkownika moge podgladnac dane.
Gdzie jeszcze jest jakies security lub jak skompilowac lub sprawdzic czemu wyrzuca blad w packagebody ze nie widzi tabel?
abrakadaber