在使用Oracle DB一段時間後,我習慣於使用Oracle DB應用程序上下文來實現訪問限制。爲了簡單地把它,在登錄過程被稱爲是把用戶的詳細信息到Oracle應用程序上下文,像這樣:PostgreSQL和/或SQL Server替代Oracle的SYS_CONTEXT
DBMS_SESSION.SET_CONTEXT('context_name', 'user_id', user_id);
然後訪問可以通過創建視圖是會看在上下文來確定強制執行哪些行能用戶可以看到像這樣:
CREATE VIEW users_vw AS
SELECT *
FROM users
WHERE user_id = SYS_CONTEXT('context_name', 'user_id');
我現在已經從甲骨文路程,我使用PostgreSQL爲個人項目和SQL Server 2000和2008年的工作。任何人都可以告訴我是否有相應的PostgreSQL或SQL Server提供的功能?
不知道了很多關於這個細節,我認爲它使用PostgreSQL的用戶?在我描述的方法中,應用程序用戶與數據庫用戶是分開的,並使用一個公共數據庫用戶連接到數據庫。所以上下文是數據庫知道應用程序用戶連接的方式。任何方式感謝您的答案! – Sevas 2009-12-19 21:05:29
啊,所以你真正想要的是會話變量? HTTP://計算器。COM /問題/ 414541 /基於會話的全局變量功能於PostgreSQL相關的存儲過程 – 2009-12-19 21:12:34