J'ai une table
Employee (employeeID) EmployeeRank (rankID, employeeID)
Maintenant j'ai une autre table qui a tous les employés qui vont get une augmentation.
DueForRaise (rankID, employeeID)
Je dois insert tous les employés qui sont dans DUeForRaise dans la table EmployeeRank SEULEMENT s'ils ne sont pas déjà là avec le même rang.
Je fais cette mise à jour pour un rankID particulier, @rankID.
Cela fonctionnerait-il?
INSERT EmployeeRank ( rankID, employeeID) SELECT rankID, employeeID FROM DueForRaise dfr OUTER JOIN EmployeeRank er er.employeeid = dfr.employeeid) WHERE dfr.rankID = @rankID
Que diriez-vous:
insert into EmployeeRank select * from DueForRaise p where NOT EXISTS( SELECT * FROM EmployeeRank WHERE rankID=p.rankID and employeeID=p.employeeID );
SI NON EXISTE (SELECT * FROM EmployeeRank O rank rankID = @rankID ET employeeID = @employeeID)
INSÉRER DANS EmployeeRank (rankID, employeeID) VALEURS (@rankID, @employeeID)