的同时转换一个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