📜  SQL Server 中的 SYSTEM_USER()函数

📅  最后修改于: 2022-05-13 01:55:50.670000             🧑  作者: Mango

SQL Server 中的 SYSTEM_USER()函数

SYSTEM_USER()函数:
SQL Server 中的该函数用于返回当前用户的登录名。

特征 :

  • 该函数用于查找当前用户的登录名。
  • 此函数属于高级功能。
  • 此函数不接受任何参数。

句法 :

SYSTEM_USER;

范围 :
此方法不接受任何参数。

回报:
它返回当前用户的登录名。

示例-1:
使用 SYSTEM_USER()函数并获取当前用户的登录名。

SELECT SYSTEM_USER;

输出 :

nidhi

示例 2 :
在下面的示例中使用 SYSTEM_USER 作为默认值并获取输出。

CREATE TABLE user01
(  
user_id int IDENTITY(100, 2) NOT NULL,
customer_id int NOT NULL,
user_name char(50) NOT NULL DEFAULT SYSTEM_USER
);  
INSERT user01(customer_id)  
VALUES (101);

INSERT user01(customer_id)  
VALUES (102);

SELECT * FROM user01; 

输出 :

S.No.user_idcustomer_iduser_name
1100101nidhi
2101102nidhi

在这里,首先您需要创建一个表,然后将值插入其中,然后使用 SYSTEM_USER函数作为默认值生成所需的输出。

注意:以上代码运行使用sql server编译器,也可以使用在线编译器。

示例 3 :
使用 SYSTEM_USER()函数并冒充用户“Geek”。

SELECT SYSTEM_USER;  
EXECUTE AS USER = 'Geek';  
SELECT SYSTEM_USER;  

输出 :

nidhi
Geek

在这里,我们将用户模拟为“Geek”,然后调用 SYSTEM_USER函数来获取当前用户的名称。

示例 4:
使用 SYSTEM_USER()函数模拟用户“Geek”,然后再次还原代码以获取上一个当前用户。

SELECT SYSTEM_USER;  
EXECUTE AS USER = 'Geek';  
SELECT SYSTEM_USER;  
REVERT;
SELECT SYSTEM_USER;

输出 :

nidhi
Geek
nidhi

应用 :
该函数用于查找当前用户的登录名。