Dans une instruction :Non.
En une transaction :Oui
BEGIN TRANSACTION
DECLARE @DataID int;
INSERT INTO DataTable (Column1 ...) VALUES (....);
SELECT @DataID = scope_identity();
INSERT INTO LinkTable VALUES (@ObjectID, @DataID);
COMMIT
La bonne nouvelle est que le code ci-dessus est également garanti atomique , et peut être envoyé au serveur à partir d'une application cliente avec une chaîne sql dans un seul appel de fonction comme s'il s'agissait d'une seule instruction. Vous pouvez également appliquer un déclencheur à une table pour obtenir l'effet d'une seule insertion. Cependant, il s'agit finalement toujours de deux instructions et vous ne souhaitez probablement pas exécuter le déclencheur pour chaque insérer.