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

Cách chính xác để cấp cho người dùng quyền truy cập vào các lược đồ bổ sung trong Oracle

AFAIK, bạn cần thực hiện lần lượt từng đối tượng cấp.

Thông thường, bạn sẽ sử dụng một tập lệnh để thực hiện việc này, một cái gì đó dọc theo dòng:

SELECT 'GRANT ALL ON '||table_name||' TO BOB;'
FROM   ALL_TABLES
WHERE  OWNER = 'ALICE';

Và tương tự cho các đối tượng db khác.

Bạn có thể đặt một gói trong mỗi lược đồ mà bạn cần cấp quyền mà từ đó sẽ thực hiện tất cả các lệnh gọi từng câu lệnh GRANT thông qua một THỰC HIỆN NGAY LẬP TỨC.

ví dụ:

   PROCEDURE GRANT_TABLES
   IS
   BEGIN

      FOR tab IN (SELECT table_name
                  FROM   all_tables
                  WHERE  owner = this_user) LOOP
         EXECUTE IMMEDIATE 'GRANT SELECT, INSERT, UPDATE, DELETE ON '||tab.table_name||' TO other_user';
      END LOOP;
   END;


  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 đổi Unixtime sang Datetime SQL (Oracle)

  2. Làm thế nào để tạo lập trình DDL từ cơ sở dữ liệu Oracle?

  3. Cách xóa Máy ảo khỏi VirtualBox

  4. làm thế nào để chọn các bản ghi chẵn từ một bảng trong oracle?

  5. Hướng dẫn sql Oracle:Hạn chế tập dữ liệu