SQL Server – Sélectionnez les lignes insérées dans une table, à l'intérieur de la même transaction

J'ai besoin de confirmation pour une question "délicate". Je suis dans une transaction, dans laquelle j'insère des lignes dans une table. Après cela, en interrogeant la même table, et en fonction des résultats, je l'insère dans une autre table.

Ma question est: Est-ce que les lignes insérées dans la première table seront visibles lors de l'insertion dans la deuxième table? (J'ai besoin que les lignes insérées soient visibles).

Ma première insertion est:

INSERT INTO BioUsers Select NewId(),A.BadgeNr,GetDate(),A.PersNr FROM ( SELECT CB.Persnr,C.BadgeNr FROM CurBioDissortingbution CB INNER JOIN CUR C ON C.PersNr = CB.PersNr WHERE CB.[Type] = 1 AND CB.GroupNr = @Nr AND CB.PersNr IN (SELECT PersNr FROM CurBioDissortingbution WHERE GroupNr = @Nr) EXCEPT (SELECT PersNr, BadgeId as BadgeNr FROM BioUsers) ) A 

Je veux insert tous les BioUserID dans la première table dans une autre table, qui contient le champ BioUserID , mais seulement s'ils ne sont pas déjà dedans. Donc, lorsque vous select le premier, je veux aussi get les lignes insérées.

PS: J'ai cherché ce problème, mais je ne pouvais find des réponses à ce problème que lorsque plusieurs transactions (de différents clients) sont impliquées.

Si les deux insertions sont dans la même transaction, alors oui. Si ce n'est pas le cas, vous êtes dans ce que vous avez décrit comme un scénario multi-user. Multi-user est en fait trompeur, multi transaction serait plus correcte.