DELIMITER // 在 MySQL 的触发器中做什么?

DELIMITER // 可用于将语句从分号 (;) 更改为 //。现在您可以在触发器中编写多个带分号的语句。

这是触发器的演示。在此示例中,每当您输入的 EmployeeSalary 小于 1000 时,它就会默认设置为 10000。

首先,让我们创建一个表。创建表的查询如下 -

mysql> create table EmployeeTable

-> (

-> EmployeeId int,

-> EmployeeName varchar(100),

-> EmployeeSalary float

-> );

创建表后,您需要在插入命令上创建触发器。创建触发器的查询如下。

mysql> delimiter //

mysql> create trigger CheckSalary before insert on EmployeeTable

-> for each row ifnew.EmployeeSalary< 1000 then set

-> new.EmployeeSalary=10000;

-> end if;

-> //

mysql> delimiter ;

现在您可以使用插入命令检查触发器。如果您插入的 EmployeeSalary 小于 1000,那么它不会给出任何错误,但它会存储我给出的默认值 10000。

插入记录的查询如下 -

mysql> insert into EmployeeTable values(1,'Carol',500);

现在使用 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;

在表中插入记录的查询。

mysql> insert into EmployeeTable values(2,'Bob',1000);

mysql> insert into EmployeeTable values(3,'Carol',2500);

这是使用 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 的触发器中做什么? 的全部内容, 来源链接: utcz.com/z/343863.html

回到顶部