2013-10-28 47 views
0

我正在嘗試創建一個視圖,該視圖僅顯示有關當前登錄用戶的信息。在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)將工作。

我得到一個錯誤

ERROR位於第1行: ORA-00901:無效的CREATE命令

回答

1

我猜你是用一些其他的RDBMS;據我所知你使用的是非Oracle語法。我在Oracle中會這樣做的方式是:

CREATE VIEW emp_view AS 
    SELECT empno, ename, job, sal, comm 
    FROM emp 
    WHERE lower(ename) = lower(user)