的同時轉換一個Oracle代碼塊,我發現這一點:SQL服務器相當於Oracle用戶
IF :NEW.username != USER THEN
現在,我的問題 - 究竟是Oracle USER
?在SQL Server中,我有:
SELECT name FROM sys.server_principals
這裏的'名稱'是否與Oracle USER
相同?
的同時轉換一個Oracle代碼塊,我發現這一點:SQL服務器相當於Oracle用戶
IF :NEW.username != USER THEN
現在,我的問題 - 究竟是Oracle USER
?在SQL Server中,我有:
SELECT name FROM sys.server_principals
這裏的'名稱'是否與Oracle USER
相同?
在SQL Server
中,NAME
在sys.database_principals
是USER
。 dbastackexchange中有類似的問題https://dba.stackexchange.com/questions/22803/listing-the-existing-sql-server-logins-and-users
在Oracle中,USER
是一個帳戶,您可以通過該帳戶登錄到數據庫並確定Oracle數據庫允許用戶訪問的方式。
例如,我連接到示例模式 「SCOTT」,我連接如:
conn scott/[email protected]
所以,這裏的用戶是 「SCOTT」。讓我們來看看:
SQL> show user;
USER is "SCOTT"
感謝此。所以,在這種情況下,我認爲Oracle'USER''等價於SQL SERVER'SUSER_SNAME()'。請評論你是否認爲我不正確。 – user3844877 2014-10-01 12:32:40
否。它返回登錄名稱,而用戶名和登錄名在SQL Server中不相似。一個「登錄」可以與許多用戶相關聯(每個數據庫一個)。看看類似的問題http://stackoverflow.com/questions/1134319/difference-between-a-user-and-a-login-in-sql-server – 2014-10-01 12:41:33
'oracle'中的USER'是用戶當前連接的 – Aramillo 2014-10-01 12:17:03