Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Buat pemicu di Oracle dari pengguna yang mendengarkan acara untuk pengguna lain

Ya kamu bisa. Pengguna a harus memiliki CREATE ANY TRIGGER :

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

Sebagai:

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

Sebagai 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

Anda harus menyempurnakan pemicu ini, pemicu ini tidak hanya akan diaktifkan untuk CREATE TABLE tapi untuk semua CREATE pernyataan...




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara memperbaiki kesalahan "Tidak ada pemetaan Dialek untuk tipe JDBC:-1" di java

  2. Apa perbedaan antara variabel ikat dan variabel substitusi (yang saya masukkan menggunakan &&)?

  3. Oracle SQL - Bagaimana saya bisa memanggil fungsi pipelined ODCI menggunakan JSP

  4. Tidak dapat memperbaiki Kesalahan:Pernyataan PL/SQL diabaikan

  5. Pengoptimal Oracle 10 dari RULE ke COST:mengapa?