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
結論
在這裡,我使用了四個示例來解釋使用當前函式的不同型別。在第一個示例中,我們只是編寫了一個查詢以獲取當前使用者。在第二個示例中,我們使用了預設值來獲取當前使用者。在第三個示例中,我們模擬了不同的當前使用者。在第四個示例中,我們模擬了當前使用者,但隨後恢復以獲取先前的當前使用者,並將其設為即時環境中的當前使用者。