Qu'advient-il si je sélectionne SCOPE_IDENTITY() après une insertion échoue (SQL Server 2005)
MSDN docs n'étaient pas tout à fait clair sur ce point. ou peut-être que je ne lis pas assez bien.
Si je fais un insert (qui peut insérer des lignes nulles), suivie par
;SELECT SCOPE_IDENTITY()
Puis d'appeler la commande par ExecuteScalar()...
Quel sera le résultat si l'Insertion ne pas insérer les lignes?
Je veux arrêter si elle échoue, de sorte que je ne pas continuer sur l'insertion d'enregistrements enfant à une mauvaise ou mauvaise ID parent.
- N'oubliez pas l'exécution en parallèle de bug qui existe dans SQL Server pour SCOPE_IDENTITY et @@IDENTITY: support.microsoft.com/default.aspx?scid=kb;en-US;2019779
Vous devez vous connecter pour publier un commentaire.
Si aucune Identité est inséré SCOPE_IDENTITY() renvoie null, vous pouvez vérifier la condition que vous spécifiez en attribuant SCOPE_IDENTITY() dans une variable et ensuite vérifier le contenu des variables.
Illustration
NULL
source: fait un SELECT scope_identity() sur une requête vide (aka pas d'insert)
Ça dépend si il a RÉUSSI à insérer dans le champ d'application actuel.