sql >> Database teknologi >  >> RDS >> Oracle

Opret trigger på Oracle fra en bruger, der lytter til begivenheder for en anden bruger

Ja du kan. Brugeren skal have CREATE ANY TRIGGER :

Som 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;

Som en:

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

Som 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

Du bliver nødt til at finjustere denne trigger, den udløses ikke kun for CREATE TABLE men for alle CREATE udsagn...




  1. Hvordan får man rækker fra en tabel, hvis det samlede antal rækker er mere end 10 i Oracle?

  2. Vis data i en tabel til opdateringsformål

  3. MySQL-syntaksfejl i WHILE-sætning

  4. Opret bruger i Azure SQL-database ved hjælp af Azure-funktioner?