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

结论

在这里,我使用了四个示例来解释使用当前函数的不同类型。在第一个示例中,我们只是编写了一个查询以获取当前用户。在第二个示例中,我们使用了默认值来获取当前用户。在第三个示例中,我们模拟了不同的当前用户。在第四个示例中,我们模拟了当前用户,但随后恢复以获取先前的当前用户,并将其设为实时环境中的当前用户。

更新于: 2023年8月22日

321 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告