tsql一个简单例子关于创建有返回值的函数和创建触发器
时间: 2023-12-03 08:42:38 浏览: 113
sql 触发器使用例子
5星 · 资源好评率100%
以下是一个简单的 T-SQL 代码示例,用于创建一个带有返回值的函数和一个触发器:
创建带有返回值的函数:
```
CREATE FUNCTION dbo.GetAverageRating (@ProductId INT)
RETURNS DECIMAL(10,2)
AS
BEGIN
DECLARE @AvgRating DECIMAL(10,2)
SELECT @AvgRating = AVG(Rating)
FROM ProductReviews
WHERE ProductId = @ProductId
RETURN @AvgRating
END
```
这个函数接受一个产品 ID 作为参数,并返回与该产品关联的所有产品评价的平均评分。
创建触发器:
```
CREATE TRIGGER dbo.UpdateProductRating
ON ProductReviews
AFTER INSERT, UPDATE, DELETE
AS
BEGIN
DECLARE @ProductId INT
SELECT @ProductId = ProductId
FROM inserted
UPDATE Products
SET AverageRating = dbo.GetAverageRating(@ProductId)
WHERE ProductId = @ProductId
END
```
这个触发器在 ProductReviews 表上创建,每当在该表中插入、更新或删除任何行时,它都会自动调用 GetAverageRating 函数来计算平均评分,并将其更新到相关产品的 AverageRating 列中。请注意,触发器使用 inserted 表来引用刚刚插入、更新或删除的行。
阅读全文