• Up until about two months ago, I thought it was totally silly and had very little use... But, one, I hope "clever" <g>, of them did spring to mind.

    I've been writing a doc management system which is to have very tight security, etc, etc. The customers can write their own custom reports which can be based upon anything in the system. In order to ensure that someone cannot run and report and see something they should not normally see, all users of the system have their own SQL login (which my app will create/destroy/modify as required). Each user will have their own set of views (all with the same name, only distinguished by the schema) which map pretty much map directly to each normal table in the database, except for a discrimination on each view's where clause to exclude rows that view's owner cannot see.

    Thus, when a report is written, just the ordinary view names are used (no schemas) - then when an ordinary pleb logs in, they cannot see the additional records that the super user who wrote the report can see. No changes required to the report at all!!

    I've done a bit of testing on the above and it seems to work quite well.... Anyone else think of a "good" reason for them??? Particularly when MS bring forth row level security in Yukon (apparently?), the above use will diminish too (does anyone else do things this way or have I missed something)

    My 2c.. Cheers,

    Ian