Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Tạo trình kích hoạt trên Oracle từ một người dùng lắng nghe các sự kiện cho một người dùng khác

Có, bạn có thể. Người dùng cần có CREATE ANY TRIGGER :

Là 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;

Như một:

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

Như 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

Bạn sẽ phải tinh chỉnh trình kích hoạt này, nó sẽ không chỉ kích hoạt cho CREATE TABLE nhưng đối với tất cả CREATE tuyên bố ...




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chuyển SELECT STATEMENT làm tham số IN để thủ tục và thực thi trong Oracle

  2. Ngăn chặn tự động gửi kết nối Oracle cho Nguồn dữ liệu JNDI trên JBoss 7 (Jeeves DBMS)

  3. Tại sao truy vấn SELECT không bắt đầu giao dịch? [Oracle]

  4. Cách xác định tuần của một quý trong truy vấn Oracle

  5. Ngày làm tròn đến khoảng thời gian 10 phút