3
我有一個重定向數據幷包含來自其他兩個表基於左外部連接的數據的表上的以下觸發器。Sql而不是插入觸發器 - 插入數據如果不存在
如果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
如何修改任何幫助,這將非常感激。
謝謝。