T-sql 创建一个触发器,当向产品表中插入产品记录时,如果插入产品的库存>100, 则将库存设置为100
时间: 2024-09-19 19:16:05 浏览: 41
14、为学生表创建触发器,要求: (1)当用户成功删除该表中的一条或多条记录时,触发器自动删
在SQL Server中,你可以创建一个名为`Trg_UpdateProductStock`的触发器,用于在向产品表`Products`插入新记录时自动调整库存。以下是创建这个触发器的T-SQL语法:
```sql
CREATE TRIGGER Trg_UpdateProductStock
ON Products
AFTER INSERT
AS
BEGIN
DECLARE @NewStock INT = (SELECT Stock FROM inserted WHERE ProductID = scope_identity())
IF @NewStock > 100
BEGIN
UPDATE inserted
SET Stock = 100
END
END;
```
在这个触发器中:
- `CREATE TRIGGER`开始创建触发器。
- `Trg_UpdateProductStock`是触发器的名称,可以根据需要自定义。
- `ON Products`指定触发器关联的表是`Products`。
- `AFTER INSERT`表示在插入新行之后执行触发器。
- `AS`开始触发器的执行部分。
- `DECLARE @NewStock INT`声明一个变量,存储新插入的产品的库存值。
- `IF @NewStock > 100`是一个条件判断,如果新库存大于100,则执行更新操作。
- `UPDATE inserted`使用`inserted`临时表(包含所有刚插入的新数据)进行更新。
- `SET Stock = 100`将库存设为100。
阅读全文