你直接在程序里面使用  员工的id 和password做处理不就行了?根据员工的id不同而查询相应的信息

解决方案 »

  1.   

    给个思路,可以参考oracle中的一些系统视图的创建方法,如user_tables等,这些都是根据不同的登陆用户显示不同的数据信息的
      

  2.   

    顺便说一下,这是一道作业project,前端必须用sql plus
    要求建view,不能用其他前端编程控制.我看了一下user_tables的create view代码,不是很懂.
    是不是其中cx.owner# = cu.user# (+)这样一句古怪代码控制用户访问的?
    还有就是每一个员工都要有自己的帐户了,那岂不1000个员工就要建1000个帐户?
    最后就是grant怎么写了.
    我是才鸟,今天是学oracle第五天...
      

  3.   

    cx.owner# = cu.user# (+)这个应该是外连接啊
      

  4.   

    create or replace view staff_list
    as select * from staff
    where id=user;
      

  5.   

    可以用这种方法:
    create view VIEWNAME as select .... from table_name where id=user;
    其中user为ORACLE系统变量.无须定义.
    也可以在程序中控制,增加全局变量保存当前用户用来判断.
      

  6.   

    如果是在SQLPLUS你可以这样做,给你例子
    prompt
    accept user_id char format a30 prompt '请输入编号:'
    accept passwd  char format a30 prompt '请输入密码:'create or replace view staff_list
    as select * from staff
    where id=&user_id and passwd=&passwd;这样人家然后访问这个试图的时候要输入用户密码才能得到用户的信息
      

  7.   

    你这样的没尝试过,不过zmgowin(隐者(龙祖宗))的建议可以试试看
      

  8.   

    我不知道我对你的意思理解是否正确,但就我的理解,你可以在每个需要限制的表上加上一个字段来存放用户的信息,这样你创建View时,就只要针对用户表中所有的用户来创建就可以了(其实和LGQDUCKY的做法相近)