sql >> Databáze >  >> RDS >> Oracle

Procedura ORACLE PL/SQL vyžaduje AUTHID CURRENT_USER pro EXECUTE IMMEDIATE s DDL

V zásadě byste se měli vyhnout udělování předdefinovaných rolí. CONNECT a RESOURCE byly populární ve verzi 7.x Oracle. Nyní mají pouze velmi omezený seznam oprávnění.

DBA , na druhou stranu je pravděpodobně příliš výkonný pro uživatele zzz . Být tebou bych to úplně odvolal (a udělil bych pouze požadovanou sadu oprávnění, když a je-li to nutné).

Zdá se mi, že vašemu uživateli mělo být uděleno toto:

grant create view to zzz;

výslovně. Zkuste to udělat (pomocí AUTHID řádek odstraněn z procedury) a spusťte proceduru znovu.



  1. Rychlejší způsob, jak odstranit odpovídající řádky?

  2. Zkontrolujte, zda řádek existuje, jinak vložte

  3. Jak třídit podle předchozího data v databázi?

  4. Jak odstranit více řádků se 2 sloupci jako složený primární klíč v MySQL?