SQL 中的当前用户函数
它用于在 sql 数据库服务器中返回当前用户的名称。它不接受任何参数。
语法
CURRENT_USER
Current_user 是用于获取当前用户名称的函数
示例 1
在本例中,我们将使用 current_user 函数获取当前用户名。
输入
员工
员工ID |
姓名 |
部门名称 |
薪资 |
---|---|---|---|
1 |
Monu |
IT |
50000 |
2 |
Sonu |
HR |
60000 |
3 |
Golu |
安保 |
70000 |
此数据库当前由 amrendra 使用。
代码
SELECT CURRENT_USER;#selected current user name
输出
Amrendra
示例 2
在本例中,我们使用 current_user 作为默认值来获取输出。
算法
步骤 1 - 创建表
步骤 2 - 将参数设置为默认当前用户
步骤 3 - 将值插入表中
步骤 4 - 调用 select 函数以获取当前用户名以及其他详细信息。
输入
员工
ID |
薪资 |
姓名 |
---|---|---|
1 |
30000 |
Amrendra |
2 |
44000 |
Amrendra |
3 |
50000 |
Amrendra |
代码
CREATE TABLE employee#table named employee is created ( id int NOT NULL,salary int NOT NULL,name char(50) NOT NULL DEFAULT CURRENT_USER ()#parameter is given inside table employee ); INSERT INTO employee(id,salary) values (1,30000),(2,31000),(3,32000);#values inserted into table executed by Amrendra SELECT * FROM employee;#select statement is used to provide the output
输出
ID |
薪资 |
姓名 |
---|---|---|
1 |
30000 |
Amrendra |
2 |
44000 |
Amrendra |
3 |
50000 |
Amrendra |
示例 3
在本例中,我们使用 current_user 函数并模拟不同的用户。
算法
步骤 1 - 选择当前用户
步骤 2 - 模拟到不同的用户
步骤 3 - 选择当前用户以获取模拟的用户名。
输入
员工ID |
姓名 |
部门名称 |
薪资 |
---|---|---|---|
1 |
Monu |
IT |
50000 |
2 |
Sonu |
HR |
60000 |
3 |
Golu |
安保 |
70000 |
这里,代码首先由 Amrendra 执行
代码
SELECT CURRENT_USER;#selected existing user EXECUTE AS USER='Tutorial';#changed user name SELECT CURRENT_USER;#changed one to get selected as a current user.
输出
Amrendra Tutorial
示例 4
在本例中,我们将进行模拟,然后恢复以获取先前的当前用户。
算法
步骤 1 - 选择当前用户
步骤 2 - 模拟到不同的用户
步骤 3 - 选择当前用户以获取模拟的用户名。
步骤 4 - 使用 revert 获取先前的当前用户
步骤 5 - 选择当前用户以获取先前的当前用户。
代码
SELECT CURRENT_USER;#selected existing user EXECUTE AS USER='Tutorial';changed user name SELECT CURRENT_USER;#changed current user get selected REVERT#reverting to get the previous current user SELECT CURRENT_USER;previous user gets selected.
输出
Amrendra Tutorial Amrendra
结论
在这里,我使用了四个示例来解释使用当前函数的不同类型。在第一个示例中,我们只是编写了一个查询以获取当前用户。在第二个示例中,我们使用了默认值来获取当前用户。在第三个示例中,我们模拟了不同的当前用户。在第四个示例中,我们模拟了当前用户,但随后恢复以获取先前的当前用户,并将其设为实时环境中的当前用户。