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

テーブル内の特権のクエリの違い

    はい、まったく異なります。

    Oracleでは、テーブルに対する権限をユーザーに直接付与できます(この場合、権限はALL_TAB_PRIVSに表示されます。 )または権限をロールに付与できます(ROLE_TAB_PRIVSに表示されます) )およびその役割をユーザーに付与できます(USER_ROLE_PRIVSに表示されます) )。最初のクエリは、テーブルに直接付与されているユーザーを表示します。 2番目のクエリは、テーブルへのアクセスが許可されたロールを付与されたユーザーを表示します(どちらの場合も、実際にはOWNERを指定する必要があることに注意してください。 テーブル名に加えて)。ネストされた複数の役割レベルを介して行われた付与に関する情報も表示されません(つまり、ユーザーAに役割1が付与され、役割1に役割2が付与され、役割2にテーブルへのアクセスが付与されます)。デフォルトとデフォルト以外のロールがあり、パスワードで保護されたロールとロールはセッションで有効または無効にできるため、ロールを介して行われる付与も少し注意が必要です。

    一般的に、ピートフィニガンのサイトで入手できるスクリプト を確認することをお勧めします。 考えられるすべてのケースをカバーするものが必要な場合。この場合、おそらく彼のwho_can_accessスクリプト を使用することをお勧めします。 特定のテーブルにアクセスできるユーザーを決定します。




    1. 識別関係または非識別関係の子テーブルはどれですか?

    2. SQL MIN()およびGROUPBYを使用した追加フィールド

    3. MySQLを使用して設定テーブルをどのように構成する必要がありますか?

    4. 奇妙なMySQLPythonmod_wsgi「localhost」(49)の問題でMySQLサーバーに接続できません