首頁 >資料庫 >mysql教程 >DELIMITER // 在 MySQL 的觸發器中扮演什麼角色?

DELIMITER // 在 MySQL 的觸發器中扮演什麼角色?

WBOY
WBOY轉載
2023-08-26 10:41:072354瀏覽

DELIMITER // 在 MySQL 的触发器中起什么作用?

DELIMITER // 可以用來將語句的分號(;)改為//。現在您可以在觸發器中使用分號編寫多個語句。

這是觸發器的示範。在此範例中,每當您輸入的EmployeeSalary小於1000時,它將預設為10000。

首先,讓我們建立一個表格。建立表格的查詢如下 -

mysql> create table EmployeeTable
-> (
-> EmployeeId int,
-> EmployeeName varchar(100),
-> EmployeeSalary float
-> );
Query OK, 0 rows affected (0.76 sec)

建立表格後,需要在插入命令上建立觸發器。建立觸發器的查詢如下。

mysql> delimiter //
mysql> create trigger CheckSalary before insert on EmployeeTable
-> for each row if new.EmployeeSalary < 1000 then set
-> new.EmployeeSalary=10000;
-> end if;
-> //
Query OK, 0 rows affected (0.40 sec)
mysql> delimiter ;

現在您可以使用插入命令來檢查觸發器。如果插入的EmployeeSalary小於1000,則不會出現任何錯誤,但它將儲存一個預設值,我給的是10000。

插入記錄的查詢如下 -

mysql> insert into EmployeeTable values(1,&#39;Carol&#39;,500);
Query OK, 1 row affected (0.25 sec)

現在使用select語句檢查表中的所有記錄。查詢如下。

mysql> select *from EmployeeTable;

以下是輸出。

+------------+--------------+----------------+
| EmployeeId | EmployeeName | EmployeeSalary |
+------------+--------------+----------------+
| 1          | Carol        | 10000          |
+------------+--------------+----------------+
1 row in set (0.00 sec)

如果您輸入 1000 或大於 1000,則只會顯示您的號碼。我已使用 truncate 命令從表中刪除了先前的記錄。

mysql> truncate table EmployeeTable;
Query OK, 0 rows affected (1.44 sec)

在表格中插入記錄的查詢。

mysql> insert into EmployeeTable values(2,&#39;Bob&#39;,1000);
Query OK, 1 row affected (0.14 sec)

mysql> insert into EmployeeTable values(3,&#39;Carol&#39;,2500);
Query OK, 1 row affected (0.19 sec)

這是使用 select 語句檢查表中所有記錄的查詢。

mysql> select *from EmployeeTable;

以下是輸出。

+------------+--------------+----------------+
| EmployeeId | EmployeeName | EmployeeSalary |
+------------+--------------+----------------+
| 2          | Bob          | 1000           |
| 3          | Carol        | 2500           |
+------------+--------------+----------------+
2 rows in set (0.00 sec)

看看上面的範例輸出,EmployeeSalary 大於或等於 1000。這將給出您的工資。請記住,如果小於 1000,則預設值設定為 10000。

以上是DELIMITER // 在 MySQL 的觸發器中扮演什麼角色?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除