Dans SQL Server 2005, j'ai un champ "id" dans une table dont la propriété "Is Identity" est définie sur "Yes". Ainsi, lorsqu'un insert est exécuté sur cette table, "id" est automatiquement défini sur l'entier incrémenté suivant. Existe-t-il un moyen facile lorsque l'insertion est exécutée pour obtenir ce que "id" a été défini sans avoir à faire une instruction Select juste après l'insertion?Dans SQL Server, est-il possible d'obtenir "id" d'un enregistrement lorsque Insert est exécuté?
double de:
Best way to get identity of inserted row?
Cette solution est bien quand traitant uniquement des mises à jour d'une seule ligne. Pour une bonne solution de mise à jour groupée, consultez la réponse de kamajo. – CodeWarrior
Pour ceux qui cherchent à le faire avec MySQL: il suffit de remplacer SCOPE_IDENTITY par LAST_INSERT_ID. Ou utilisez simplement le paramètre LastInsertedId sur MySqlCommand; –
Je reçois une erreur en renvoyant la valeur de retour de ExecuteScalar() directement à un int. Fonctionne bien lorsque je le lance en décimal. –