0

我正在尝试创建一个仅显示有关当前登录用户的信息的视图。在 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 命令

4

1 回答 1

1

我猜你已经习惯了其他一些 RDBMS;据我所知,您使用的是非 Oracle 语法。我在 Oracle 中执行此操作的方式是:

CREATE VIEW emp_view AS
  SELECT empno, ename, job, sal, comm
    FROM emp
   WHERE lower(ename) = lower(user)
于 2013-10-28T02:47:01.320 回答