📜  SQL Server 中的 SESSION_USER()函数

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

SQL Server 中的 SESSION_USER()函数

SESSION_USER() :

SQL Server 中的该函数用于返回当前正在使用的 SQL Server 数据库中的用户名。

特征 :

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

句法 :

SESSION_USER;

范围 :

此方法不接受任何参数。

回报:

它返回正在使用的 SQL Server 数据库中的当前用户名。

示例-1:

使用 SESSION_USER()函数并获取当前用户的名称。

SELECT SESSION_USER;

输出 :

nidhi

示例 2 :

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

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

INSERT user01(customer_id)  
VALUES (102);

SELECT * FROM user01;  

输出 :

| user_id  | customer_id | user_name
-----------------------------------------
1 | 100      | 101         | nidhi
-----------------------------------------
2 | 102      | 102         | nidhi

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

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

示例 3 :

使用 SESSION_USER ()函数并冒充用户“Geek”。

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

输出 :

nidhi
Geek

在这里,我们将用户伪装成“Geek”,然后调用 SESSION_USER函数来获取当前用户的名称。

示例 4:

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

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

输出 :

nidhi
Geek
nidhi

应用 :

该函数用于在 SQL 服务器的数据库中查找当前用户名。