gpt4 book ai didi

SQL Server 触发器

转载 作者:行者123 更新时间:2023-12-04 23:53:55 28 4
gpt4 key购买 nike

请帮我写一个向表中添加新行的触发器。

我的数据库中有 3 个表:

  1. 地区(id,名字); id - 主要;
  2. 技术人员(身份证、姓名); id - 主要;
  3. 可用性(id、区域、技术、计数); id - primary,region - Regions.id 上的外国,Technik - technics.id 上的外国。

我想在 Availability 中为每个 Technics 行在 Regions 添加行时添加新行。

有点像:

procedure void OnAddNewRegion(int region)
{
foreach (Row r in Technic)
{
Availability.Rows.Add(new Row(id, region, r.Id, 0));
}
}

但是在 SQL 触发器中。我想在添加新的 Technics 行时做同样的事情。

最佳答案

尝试这样的事情(假设 Availability.id 是一个身份),它也将处理一次插入的多行:

CREATE TRIGGER TR_Regions ON Regions 
FOR INSERT
AS
INSERT INTO Availability
(region, technic, count)
SELECT
i.id, t.id, 0
FROM INSERTED i
CROSS JOIN Technics t

GO

你没有说 Regions 如何与 Technics 连接,所以我交叉连接了它们(每个插入的 Regions,每个 Technics 都有一行)。

关于SQL Server 触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2599298/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com