Oracle
 sql >> Baza danych >  >> RDS >> Oracle

ORA-28113:predykat zasad zawiera błąd

(pytanie sprzed lat, ale odkąd natknąłem się na nie, pójdę dalej i odpowiem na nie dla kogokolwiek innego...)

ORA-28113 oznacza po prostu, że gdy funkcja zasad zwróciła klauzulę where, wynikowy kod SQL zawierał błąd. Możesz uzyskać szczegółowe informacje, przeglądając plik śledzenia. Spróbuj też:

select Select_Nhanvien('myschema','mytable') from dual;

A następnie dołącz wyniki do klauzuli WHERE w następujący sposób:

SELECT * FROM MYTABLE WHERE <results from above>;

A potem powinieneś zobaczyć główną przyczynę. Zgaduję, że w powyższym przypadku „inny użytkownik” nie miał ani zmiennych sys_context wymaganych do zbudowania klauzuli where, ani dostępu do wyzwalacza logowania.

Na marginesie, innym problemem, na który możesz natknąć się tutaj, jest odwołanie cykliczne, gdy twoja funkcja strategii odwołuje się do własnej tabeli - najlepiej oczekiwałbym, że funkcja strategii obejdzie się w obrębie funkcji strategii, więc możesz NIE ISTNIEĆ itp., ale tak się nie dzieje. to wydaje się działać w ten sposób.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jak stworzyć stół w oracle

  2. Jak pisać do pliku tekstowego z Pl/SQL, błąd PLS 00363

  3. Wyświetlanie ograniczeń w tabeli

  4. Jak zmienić symbol waluty sesji w Oracle?

  5. Oracle SQL do ciągłego grupowania