我正在尝试创建一个只显示当前用户登录信息的视图。在emp表(员工表)中,我挑选了两名员工Ford和James。我创建了它们作为用户。现在我想确保如果福特登录,那福特只会看到有关福特的信息,而且没有其他人来自emp表,如果詹姆斯登录的话也是如此。
这就是我所拥有的。
create definer=current_user view emp_view as
select empno, ename, job, sal, comm
from emp
where lower(ename) = lower(current_user);
也不确定lower(ename)= lower(current_user)是否有效。
我收到错误
第1行的错误: ORA-00901:无效的CREATE命令
答案 0 :(得分:1)
我猜你习惯了其他一些RDBMS;据我所知,您使用的是非Oracle语法。我在Oracle中这样做的方式是:
CREATE VIEW emp_view AS
SELECT empno, ename, job, sal, comm
FROM emp
WHERE lower(ename) = lower(user)