Oracle
 sql >> база данни >  >> RDS >> Oracle

ORA-00942:таблица или изглед не съществува (работи, когато е отделен sql, но не работи във функция на oracle)

Има голяма вероятност привилегиите за избор от таблица1 да са предоставени на роля и ролята да е предоставена на вас. Привилегиите, предоставени на роля, не са достъпни за PL/SQL, написан от потребител, дори ако на потребителя е предоставена ролята.

Виждате това често за потребители, на които е предоставена ролята на dba за обекти, притежавани от sys. Потребител с роля на dba ще може, да речем, SELECT * from V$SESSION , но няма да може да напише функция, която включва SELECT * FROM V$SESSION .

Поправката е да се предоставят изрични разрешения за въпросния обект директно на потребителя, например в горния случай потребителят на SYS трябва да GRANT SELECT ON V_$SESSION TO MyUser;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. как да извличам, изтривам, ангажирам от курсора

  2. Oracle Database 21c за Linux платформи

  3. Използване на подзаявка в изявление за проверка в Oracle

  4. Проблем с Django inspectdb при използване на база данни на Oracle

  5. Как да преброя броя на колоните в таблица с помощта на SQL?