![](/img/trans.png)
[英]Foreach row, update another table row if exist else insert a new record
[英]foreach row insert to another table and update column
情况:具有命名表Table2Id
Table1
Table2
CONSTRAINT FOREIGN KEY
Table1
Table2Id
如何用来自Table2
新插入的行更新Table1
每一行的Table2Id
列(每个Table1
行将具有自己的Table2
记录)?
我已使用以下代码在MS SQL Server上执行此操作。 我没有方便的代码,但是在MySQL中实现了类似的触发器。
ALTER TRIGGER [dbo].[Addresses_afterInsert]
ON [dbo].[Addresses]
AFTER INSERT
AS
BEGIN
INSERT INTO [MultiKey] ([keyEntity], [nameEntity], [typeEntity])
SELECT [keyAddress], [fullAddress], 'Address' AS [typeEntity]
FROM [Addresses]
WHERE ([keyMulti] IS NULL);
UPDATE [Addresses]
SET [keyMulti] = [MultiKey].[keyMulti]
FROM [Addresses]
INNER JOIN [MultiKey]
ON (
([MultiKey].[keyEntity] = [Addresses].[keyAddress])
AND ([MultiKey].[typeEntity] = 'Address')
);
END
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.