2012-05-03 14 views
0

で見ることができるものに制限します製品の表、ProductNameおよびStateは2つの列です。ユーザーグループが自分の状態からクエリを実行するときにのみ、ユーザーグループに商品を表示させたい場合SELECT * FROM Productsは、例えば</p> <p>セイ..ユーザーは、これが少し出ているが、データの特定のサブセットを見るだけにSQLでのユーザーグループを制限することが可能である場合、私は思っていたSQLクエリ

これは可能ですか?

+1

どのDBMS? PostgreSQL?オラクル? DB2? –

答えて

1

サブセットに対応する1つ以上のビューを作成し、それらのサブセットに適切なアクセス権を設定します。

2

基本となるテーブルへのアクセスを制限します。

ユーザーグループにこれらの基になるテーブルのビューへのアクセス権を与えます。

ので:テーブルを考えると

CREATE TABLE EVERYTHING ID INTEGER, TYPE CHAR(1), SEMISECRET CHAR(20), REALLYSECRECT CHAR(20)); 

あなたが特定の列のみへのアクセス権を与えるビューを作成することができます -

CREATE VIEW SOMESTUFF AS SELECT ID, TYPE, SEMISECRET FROM EVERTHINK; 

あなたは、特定の行へのアクセスを与えるビューを作成することができます: -

CREATE VIEW TYPESLICE AS SELECT ID, TYPE, REALLYSECRECT WHERE TYPE ='X'; 

さらに多くのことが可能ですが、それが基本です。

関連する問題