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 服务器的数据库中查找当前用户名。