1

我正在使用 MySql 5.5 数据库,我有 test1、test2、test3 和 test4 数据库。test1 数据库有 3 个表(学生、员工、培训师)。test2 数据库有 3 个表(表 1、表 2、表 3)。现在我的问题是

如何将 TRIGGER 应用于 test1 数据库?所以听到 TRIGGER 应用于 Student、Employee、Trainer 表。

请给我解决方案。

4

2 回答 2

1

CREATE TRIGGER 的一般语法是: CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_statement

在下面的示例中,我们在将任何记录插入 Emp 表之前更新 Employee 表的 Salary 列。例子 :

mysql> 选择 * 从员工;

+-----+----------+----------+------+-- ------+--------+

| 开斋节 | 姓名 | 城市 | 名称 | 工资 | 福利 |

+-----+----------+----------+------+-- ------+--------+

| 1 | 拉胡尔 | 德里 | 经理 | 10300 | 第853章

| 2 | 高拉夫 | 孟买 | 助理经理 | 10300 | 第853章

| 3 | 钱丹 | 班加罗尔 | 领队 | 15450 | 999 |

| 5 | 塔班 | 浦那 | 开发商 | 20600 | 1111 |

| 6 | 阿马尔 | 钦奈 | 开发商 | 16000 | 第1124章

| 7 | 桑托什 | 德里 | 设计师 | 10000 | 第865章

| 8 | 苏曼 | 浦那 | 网页设计师 | 20000 | 第658章

+-----+----------+----------+------+-- ------+--------+

一组 7 行(0.00 秒)

mysql> 分隔符 //

mysql> CREATE TRIGGER ins_trig BEFORE INSERT ON Emp

-> FOR EACH ROW

-> BEGIN

-> UPDATE Employee SET Salary=Salary-300 WHERE Perks>500;

-> END;

-> //

查询正常,0 行受影响(0.01 秒)

mysql> 分隔符;

mysql> INSERT INTO Emp VALUES(9,'Rajesh','Delhi','Developer',15000,658);

查询正常,1 行受影响(0.05 秒)

mysql> 选择 * 从员工;

+-----+----------+----------+------+-- ------+--------+

| 开斋节 | 姓名 | 城市 | 名称 | 工资 | 福利 |

+-----+----------+----------+------+-- ------+--------+

| 1 | 拉胡尔 | 德里 | 经理 | 10000 | 第853章

| 2 | 高拉夫 | 孟买 | 助理经理 | 10000 | 第853章

| 3 | 钱丹 | 班加罗尔 | 领队 | 15150 | 999 |

| 5 | 塔班 | 浦那 | 开发商 | 20300 | 1111 |

| 6 | 阿马尔 | 钦奈 | 开发商 | 15700 | 第1124章

| 7 | 桑托什 | 德里 | 设计师 | 9700 | 第865章

| 8 | 苏曼 | 浦那 | 网页设计师 | 19700 | 第658章

+-----+----------+----------+------+-- ------+--------+

一组 7 行(0.00 秒)

于 2012-07-27T12:41:06.590 回答
0

您在特定数据库中的特定表上创建触发器。

查看触发器以了解这是如何完成的。

于 2012-07-27T12:37:05.487 回答