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

Vytvořte trigger na Oracle od uživatele, který naslouchá událostem pro jiného uživatele

Ano můžeš. Uživatel a potřebuje mít CREATE ANY TRIGGER :

Jako DBA:

CREATE USER a IDENTIFIED BY a;
GRANT CREATE SESSION, CREATE ANY TRIGGER TO a;

CREATE USER b IDENTIFIED BY b;
GRANT CREATE SESSION TO b;

Jako:

CREATE OR REPLACE TRIGGER a.create_trigger
  BEFORE CREATE ON b.SCHEMA
BEGIN
  raise_application_error(num => -20000,  msg=> 'create_trigger vetoes');
END;
/

Jako b:

CREATE TABLE t(i INT);
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-20000: create_trigger vetoes
ORA-06512: at line 2

Tento spouštěč budete muset doladit, spustí se nejen pro CREATE TABLE ale pro všechny CREATE prohlášení...




  1. Vzdálený přístup MySql odepřen uživateli s kódem C#, ale lze se připojit pomocí DbVisualizer

  2. Chyba dotazu Python/MySQL:`Neznámý sloupec`

  3. Vytváří rozdělení v mysql tabulky nebo pouze virtuální tabulky?

  4. V dotazu na regulární výraz MySQL se nerozlišují velká a malá písmena