create or replace view staff_list as select * from staff where id=user;
可以用这种方法: create view VIEWNAME as select .... from table_name where id=user; 其中user为ORACLE系统变量.无须定义. 也可以在程序中控制,增加全局变量保存当前用户用来判断.
如果是在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;这样人家然后访问这个试图的时候要输入用户密码才能得到用户的信息
要求建view,不能用其他前端编程控制.我看了一下user_tables的create view代码,不是很懂.
是不是其中cx.owner# = cu.user# (+)这样一句古怪代码控制用户访问的?
还有就是每一个员工都要有自己的帐户了,那岂不1000个员工就要建1000个帐户?
最后就是grant怎么写了.
我是才鸟,今天是学oracle第五天...
as select * from staff
where id=user;
create view VIEWNAME as select .... from table_name where id=user;
其中user为ORACLE系统变量.无须定义.
也可以在程序中控制,增加全局变量保存当前用户用来判断.
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;这样人家然后访问这个试图的时候要输入用户密码才能得到用户的信息