SQL Server - 创建一个触发器,当产品的数量达到1时,该触发器将记录到警报

时间:2017-07-20 04:19:30

标签: sql-server triggers alert

我被要求编写一个查询/脚本,这将导致问题标题中描述的内容发生。以下是被问到的内容:

  

系统已要求您创建将记录到警报的触发器   当您手头的任何产品数量降至1时表。

     

创建以下内容:

     
      
  1. 创建警报表的脚本。 (它至少需要一个日期时间戳,警报类型,警报说明)。

  2.   
  3. 用于创建跟踪库存的触发器的脚本。

  4.   

那么,我该怎么办?我到处寻找,看看能不能自己搞清楚,但我没有运气。如果我能得到任何帮助,我们将不胜感激。

1 个答案:

答案 0 :(得分:1)

这个答案很模糊,因为问题中没有涉及很多具体细节,但这个概念是有效的。希望它有所帮助!

创建一个表来保存警报,如下所示

CREATE TABLE AlertTable(
ProductID int, 
ProductName varchar(255),
AlertDate DateTime DEFAULT GETDATE(),
AlertType varchar(50),
AlertDescription varchar(255)
);

然后在您的stock表上创建一个触发器,将产品插入到插入表中StockOnHand值为1的表中。 (即有人改变了桌子,现在只剩下1个项目了)

CREATE TRIGGER StockAlert
ON StockTable
AFTER UPDATE
AS
BEGIN
INSERT INTO AlertTable
SELECT ProductID, ProductName, 'Low Stock', 
'There is only 1 ' + ProductName + ' left' 
FROM inserted
WHERE StockOnHand = 1
END
GO