sql使用SQL 为产品表创建一个inserted表触发,并给触发器插入数据,执行观察结果。
时间: 2024-02-12 10:06:11 浏览: 215
首先,我们需要创建一个产品表(product)和一个插入数据的触发器(product_insert_trigger),以及一个用于存储插入数据的触发器数据的 inserted 表。以下是一个示例:
创建产品表:
```
CREATE TABLE product (
id INT PRIMARY KEY,
name VARCHAR(50),
price DECIMAL(10, 2)
);
```
创建 inserted 表:
```
CREATE TABLE inserted (
id INT,
name VARCHAR(50),
price DECIMAL(10, 2),
inserted_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
创建触发器:
```
CREATE TRIGGER product_insert_trigger
AFTER INSERT ON product
FOR EACH ROW
BEGIN
INSERT INTO inserted (id, name, price) VALUES (NEW.id, NEW.name, NEW.price);
END;
```
在这个触发器中,我们使用 "AFTER INSERT" 触发器,这意味着当在产品表中插入一条新记录时,触发器将会被触发。我们还使用 "FOR EACH ROW" 子句来确保触发器为每个插入的行执行操作。在触发器中,我们将新插入的记录的 id、name 和 price 值插入到 inserted 表中。
现在,我们可以在产品表中插入一些数据并查看 inserted 表中的结果。以下是一个示例:
```
INSERT INTO product (id, name, price) VALUES (1, 'Product 1', 9.99);
INSERT INTO product (id, name, price) VALUES (2, 'Product 2', 19.99);
SELECT * FROM inserted;
```
执行此代码后,将向产品表中插入两个新产品,并将它们的 id、name 和 price 值插入到 inserted 表中。然后,我们使用 "SELECT" 语句从 inserted 表中检索所有插入的记录。您应该能够看到插入的两个记录及其时间戳。
阅读全文