I'm trying to write a trigger to insert TblB from TblA, but
not if that record already exists in TblB. Each table has a different structure, but with some identical columns (those I'm looking to insert) having same datatypes. IDNum is an IDENTITY Column.
It won't fire unless its a straight insert without any conditions, and then obviously insert everything from TblA to TblB regardless.
My pseudo codes:
ALTER TRIGGER TRG_INSERT_TEST
ON TEST
FOR INSERT
AS
SET IDENTITY_INSERT TEST2 ON
INSERT INTO TEST2 (IDNUM, FULLNAME, COMPANY, ADDR2, ADDR1, CITY, STATE, ZIP10)
SELECT DISTINCT X.IDNUM, X.FULLNAME, X.COMPANY, X.ADDR2, X.ADDR1, X.CITY, X.STATE, X.ZIP10
FROM TEST X INNER JOIN TEST2 Y
ON X.IDNUM<>Y.IDNUM
GROUP BY X.FULLNAME, X.COMPANY, X.ADDR2, X.ADDR1, X.CITY, X.STATE, X.ZIP10,
X.IDNUM
HAVING COUNT(*)<2
PRINT ' '
SELECT @@IDENTITY AS 'INSERTED WITH AN IDNUM OF:'
Plese let me know where I've gone wrong.
-David
not if that record already exists in TblB. Each table has a different structure, but with some identical columns (those I'm looking to insert) having same datatypes. IDNum is an IDENTITY Column.
It won't fire unless its a straight insert without any conditions, and then obviously insert everything from TblA to TblB regardless.
My pseudo codes:
ALTER TRIGGER TRG_INSERT_TEST
ON TEST
FOR INSERT
AS
SET IDENTITY_INSERT TEST2 ON
INSERT INTO TEST2 (IDNUM, FULLNAME, COMPANY, ADDR2, ADDR1, CITY, STATE, ZIP10)
SELECT DISTINCT X.IDNUM, X.FULLNAME, X.COMPANY, X.ADDR2, X.ADDR1, X.CITY, X.STATE, X.ZIP10
FROM TEST X INNER JOIN TEST2 Y
ON X.IDNUM<>Y.IDNUM
GROUP BY X.FULLNAME, X.COMPANY, X.ADDR2, X.ADDR1, X.CITY, X.STATE, X.ZIP10,
X.IDNUM
HAVING COUNT(*)<2
PRINT ' '
SELECT @@IDENTITY AS 'INSERTED WITH AN IDNUM OF:'
Plese let me know where I've gone wrong.
-David