SQL 当前用户函数
用于返回SQL数据库服务器中当前用户的名称。它不接受任何参数。
语法
CURRENT_USER
当前用户是用于获取当前用户名称的函数。
示例1
在这个例子中,我们将使用current_user函数来获取当前用户名称。
输入
Employee
Emp_id | Name | Dept_name | Salary |
---|---|---|---|
1 | Monu | IT | 50000 |
2 | Sonu | HR | 60000 |
3 | Golu | Security | 70000 |
这个数据库目前由amrendra使用。
代码
SELECT CURRENT_USER;#selected current user name
输出
Amrendra
示例2
在此示例中,我们使用current_user作为默认值来获取输出。
步骤
- 步骤1 - 创建表
-
步骤2 - 将一个参数设为默认的当前用户
-
步骤3 - 将值插入表中
-
步骤4 - 调用select函数以获取当前用户名称和其他详细信息
输入
Employee
ID | Salary | Name |
---|---|---|
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 | Salary | Name |
---|---|---|
1 | 30000 | Amrendra |
2 | 44000 | Amrendra |
3 | 50000 | Amrendra |
示例3
在这个示例中,我们使用current_user函数并冒充不同的用户。
步骤
- 步骤1 − 选择当前用户
-
步骤2 − 冒充不同用户
-
步骤3 − 选择当前用户以获取冒充的用户名称。
输入
Emp_id | Name | Dept_name | Salary |
---|---|---|---|
1 | Monu | IT | 50000 |
2 | Sonu | HR | 60000 |
3 | Golu | Security | 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 - 使用恢复操作获取先前的当前用户
-
步骤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
结论
在这里,我使用了四个例子来解释如何使用当前函数的不同类型。在第一个例子中,我们只是简单地编写了一个查询来获取当前用户。在第二个例子中,我们使用了默认值来获取当前用户。在第三个例子中,我们模拟了不同的当前用户。在第四个例子中,我们模拟了当前用户,然后回到之前的当前用户,并将其设置为实时的当前用户。