J'ai le déclencheur suivant sur une table qui redirige les données et inclut les données de deux autres tables basées sur une jointure gauche.Sql au lieu du déclencheur d'insertion - insertion de données si n'existe pas
Si i.ndl_DeviceID n'existe pas dans BBOwnerMap, cette colonne sera nulle ce qui est correct.
Ce que je veux faire est, si i.ndl_DeviceID n'existe pas dans BBOwnerMap alors je veux insérer dans là et retourner le autonumber résultant BBOwnerMap.OwnerID
Trigger est la suivante: -
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
Table BBOwnerMap est comme ceci: -
[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
Toute aide sur la façon de modifier ce serait très apprécié.
Merci.