我在一张表上有一个触发器,基于左外连接,将数据重定向并包含来自另外两个表的数据。
如果 i.ndl_DeviceID 在 BBOwnerMap 中不存在,则该列将为空,这是可以接受的。
我想做的是,如果 i.ndl_DeviceID 在 BBOwnerMap 中不存在,那么我希望将它插入到其中,并返回结果的自动编号 BBOwnerMap.OwnerID。
触发器如下:
ALTER TRIGGER [dbo].[Redirect]
ON [dbo].[ndl_dump]
instead of insert
AS
BEGIN
INSERT INTO ndl_data
(ndl_Image,ndl_Text,ndl_Lat,ndl_Lng,ndl_CategoryID,ownerID)
SELECT i.ndl_Image,
i.ndl_Text,
i.ndl_Lat,
i.ndl_Lng,
ndl_config.ndl_CategoryID,
BBOwnerMap.OwnerID
FROM inserted i
LEFT OUTER JOIN
ndl_config
ON i.ndl_Category = ndl_config.ndl_CategoryName
LEFT OUTER JOIN
BBOwnerMap
ON i.ndl_DeviceID = BBOwnerMap.DeviceID
END
BBOwnerMap表格如下:-
[dbo].[BBOwnerMap](
[OwnerID] [int] IDENTITY(1,1) NOT NULL,
[DeviceID] [varchar](50) NOT NULL,
[DeviceNumber] [varchar](50) NOT NULL,
CONSTRAINT [PK_BBOwnerMap] PRIMARY KEY CLUSTERED
任何修改此内容方面的帮助都将不胜感激。
谢谢。