2016-05-28 8 views
0

DOBが空でない行(つまり、ユーザーがDOBがnullの行のみを読み取ることができる)以外のビュー内のすべての情報に読み取り権限を付与できます。これは可能ですか? (私は仕事したいと動作しません)の例は以下のとおりです。SQLでは、WHERE句をGRANT SELECT文に追加できますか?

GRANT SELECT ON DRVADM WHERE DOB IS NULL TO user_2; 

おかげ

+0

なぜあなたはビュー自体に条件を追加していないユーザーへのアクセスを許可しますか?またはdobとのもう1つのビューをnull状態にする –

+1

これは残念なことに宿題のためであり、DRVADMビューを使用する必要があります。異なるユーザーには異なる読み取り権限があります。 – Animorphs

+0

apolog、Ubuntu端末で実行される単純なローカルSQL – Animorphs

答えて

0
  1. 私はあなたがに接続するために使用するコマンドを投稿し、mysqlは(それを確認するために使用していると仮定しますあなたのターミナルセッションからのデータベース)。
  2. 行に基づいてGRANTを使用することはできません。列/表のレベルでのみ行うことができます。あなたが唯一の選択行(彼が参照しなければならないもの)でVIEWを作成することを検討できmysql docs
  3. GRANT SELECT声明へのWHERE句はありません。そして、このVIEW(= に、そのすべての行
+0

はい、mysqlを端末に接続し、 と接続してください。database1; これは宿題です(上記のように)私は残念ながら新しいビューを作成することはできません。私はDRVADMを使用しなければなりません。すべてを読むことができるもう一つの用途があります – Animorphs

+0

あなたの仕事は、いくつかの行を除いたビュー '私の答えの2番目の項目で説明された理由のために 'mysql'で可能な解決策が表示されません。 –

+0

それは文字通りその仕事の一部なので、とにかくありがとう、私はそれについて私たちの家庭教師に話す必要があります。次のようになります(私は3でしたが、この質問には4が関係しています)。(3)スクリプトはuser_1にDRVADMビューを含むすべての情報に読み取り権限を与えます。 (4)次に、生年月日が空でない行を除いて、ビューDRVADMに含まれるすべての情報に読込み権限が付与されます。 – Animorphs

関連する問題