Yes, This is one way to do it.
But on Oracle you can set this in the database it has one advantage
over doing it with views, that is it is directly on the table. In your example the users could login with Enterprise manager and and loook directly into the base table of the view thus seeing all rows!
>
>SELECT * FROM Customers WHERE CreditLimit <
>CASE IS_MEMBER('Admin') THEN 100000
>CASE IS_MEMBER('User') THEN 10000
>ELSE 1000 END
>
>
>Or, you could create a view for each user, making that user the owner of the view. When you query the view, don't specify an owner and SQL will use the view owned by the current user, if not found it will use the dbo. view.
>
>BTW: I am just setting this up in the app I work on. HTH.
>
>BOb
>
>