Meilleure façon d'obtenir PK Guid de la ligne insérée
J'ai lu cette question au sujet d'obtenir l'identité d'une ligne insérée. Ma question est, en quelque sorte liés.
Est-il un moyen d'obtenir le guid d'une ligne insérée? Le tableau que je travaille avec a un guid de la clé primaire (par défaut, la fonction newid), et je voudrais récupérer le guid après l'insertion de la ligne.
Est-il quelque chose comme @@IDENTITY
, IDENT_CURRENT
ou SCOPE_IDENTITY
pour les Guid?
OriginalL'auteur Doctor Jones | 2009-05-01
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser la SORTIE de la fonctionnalité rétablir les valeurs par défaut de retour dans un paramètre.
Je dois dire cependant, soyez prudent en utilisant un identifiant unique comme clé primaire. L'indexation sur un GUID est extrêmement mauvaise performance comme tout nouvellement générés guid devra être inséré dans le milieu d'un index et rrarely venez d'ajouter sur la fin. Il y a de nouvelles fonctionnalités dans SQL2005 pour NewSequentialId(). Si l'obscurité n'est pas nécessaire avec votre Guid ensuite ses une alternative possible.
Désolé, je n'avais pas testé, c'était juste le jeter ensemble de ce dont je me souvenais. Ont maintenant mis à jour la réponse avec le retour d'une variable de table.
Très sympa, merci Robin. Accepté 🙂
Pas sûr de savoir pourquoi vous avez de la difficulté, il suffit de sélectionner les valeurs INSÉRÉES sans entrer dans une table temporaire en premier... "INSERT INTO Table (Champs) de SORTIE INSÉRÉ.* Les VALEURS (valeurs de champ)" fonctionne parfaitement pour moi. SQL Server 10.0.1600.
OriginalL'auteur Robin Day
Un autre plus propre approche, si l'insertion d'une ligne unique
OriginalL'auteur rjv