sql >> データベース >  >> RDS >> Oracle

ビューを作成して、テーブル権限とWITHGRANTOPTIONをバイパスします

    あなたが説明したことはうまくいきません。ユーザーAとして:

    create table t (id number);
    
    Table T created.
    
    grant select on t to b;
    
    Grant succeeded.
    

    ユーザーBとして:

    create view v as select * from a.t;
    
    View V created.
    
    grant select on v to c;
    
    SQL Error: ORA-01720: grant option does not exist for 'A.T'
    01720. 00000 -  "grant option does not exist for '%s.%s'"
    *Cause:    A grant was being performed on a view or a view was being replaced
               and the grant option was not present for an underlying object.
    *Action:   Obtain the grant option on all underlying objects of the view or
               revoke existing grants on the view.
    

    これは、ドキュメントでに記載されています

    grant any object privilege 特権はこれをバイパスしません。ただし、完全なDBAとして機能する(強力な)特権が必要です grant select on b.v to c




    1. 複数のデータベースにまたがるビューを作成する

    2. PROCESSESのMAX_UTILIZATIONに到達すると、管理対象接続の例外を取得できませんか?

    3. Hibernate基準クエリでgroupbyを持つすべての列を選択します

    4. MariaDBで特定の文字の前後のすべてを選択します