SQL显示触发器怎么写
时间: 2024-03-23 11:15:30 浏览: 38
sql 触发器的写法
SQL触发器是一种特殊的存储过程,它会在表中发生指定事件时自动执行。下面是一个简单的SQL触发器的示例:
```sql
CREATE TRIGGER [trigger_name]
ON [table_name]
AFTER INSERT, UPDATE, DELETE
AS
BEGIN
-- 触发器的逻辑代码
END
```
其中,`trigger_name`是你给触发器起的名称,`table_name`是你要在哪个表上创建触发器,`AFTER INSERT, UPDATE, DELETE`表示触发器在表上执行插入、更新、删除操作之后执行,`BEGIN`和`END`之间是触发器的逻辑代码,你可以在这里编写任何SQL语句。
下面是一个具体的示例,当在`orders`表中插入一条记录时,自动将该订单的总价存储到`order_total`表中:
```sql
CREATE TRIGGER [trg_order_insert]
ON [orders]
AFTER INSERT
AS
BEGIN
DECLARE @order_id int
DECLARE @total_price decimal(10, 2)
SELECT @order_id = inserted.order_id, @total_price = SUM(inserted.price * inserted.quantity)
FROM inserted
WHERE inserted.order_id = @order_id
INSERT INTO order_total (order_id, total_price) VALUES (@order_id, @total_price)
END
```
在这个示例中,触发器会在`orders`表中插入一条记录之后执行。它首先声明了一个`@order_id`变量和一个`@total_price`变量,然后使用`SELECT`语句从`inserted`表中获取订单ID和总价(`inserted`表是系统提供的一个特殊表,它包含了刚刚插入的记录)。接着,它将订单ID和总价插入到`order_total`表中。
注意,在编写SQL触发器时,你需要小心谨慎,确保触发器的逻辑代码不会影响数据库的性能和安全性。
阅读全文