1.在 product 表上分别创建 AFTER INSERT、BEFORE UPDATE 和 BEFORE DELETE 3 个触发 器, 触发器的名称分别为 product_af_insert、product_bf_update 和 Tproduct_bf_del。执行语句部分都是向 operate 表中插入操作方法和操作时间。
时间: 2024-03-26 16:34:21 浏览: 116
可以使用以下 SQL 语句在 product 表上创建触发器:
```
-- AFTER INSERT 触发器
CREATE TRIGGER product_af_insert
AFTER INSERT
ON product
FOR EACH ROW
INSERT INTO operate (method, time)
VALUES ('INSERT', NOW());
-- BEFORE UPDATE 触发器
CREATE TRIGGER product_bf_update
BEFORE UPDATE
ON product
FOR EACH ROW
INSERT INTO operate (method, time)
VALUES ('UPDATE', NOW());
-- BEFORE DELETE 触发器
CREATE TRIGGER product_bf_del
BEFORE DELETE
ON product
FOR EACH ROW
INSERT INTO operate (method, time)
VALUES ('DELETE', NOW());
```
以上 SQL 语句创建了三个触发器,分别在 product 表上进行插入、更新和删除操作时被激发。每个触发器都将操作方法(INSERT、UPDATE 或 DELETE)和当前时间插入到 operate 表中。注意,BEFORE 触发器可以在操作执行之前修改 NEW 值,AFTER 触发器只能读取 OLD 和 NEW 值。
相关问题
在product表上分别创建AFTER INSERT、BEFORE UPDATE和BEFORE DELETE 3个触发器, 触发器的名称分别为product_af_insert、product_bf_update和Tproduct_bf_del。执行语句部分都是向operate表中插入操作方法和操作时间。
好的,针对你的问题,以下是在product表上创建AFTER INSERT、BEFORE UPDATE和BEFORE DELETE 3个触发器的SQL语句:
1. AFTER INSERT触发器:
```
CREATE TRIGGER product_af_insert AFTER INSERT ON product
FOR EACH ROW
BEGIN
INSERT INTO operate(method, time) VALUES('INSERT', NOW());
END;
```
2. BEFORE UPDATE触发器:
```
CREATE TRIGGER product_bf_update BEFORE UPDATE ON product
FOR EACH ROW
BEGIN
INSERT INTO operate(method, time) VALUES('UPDATE', NOW());
END;
```
3. BEFORE DELETE触发器:
```
CREATE TRIGGER Tproduct_bf_del BEFORE DELETE ON product
FOR EACH ROW
BEGIN
INSERT INTO operate(method, time) VALUES('DELETE', NOW());
END;
```
这些触发器的名称分别为product_af_insert、product_bf_update和Tproduct_bf_del,执行语句部分都是向operate表中插入操作方法和操作时间。希望能够帮助到你。
阅读全文