Maison >base de données >tutoriel mysql >Comment récupérer une clé primaire GUID récemment insérée dans SQL Server ?

Comment récupérer une clé primaire GUID récemment insérée dans SQL Server ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-24 12:34:16874parcourir

How to Retrieve a Recently Inserted GUID Primary Key in SQL Server?

Accès à la clé primaire GUID nouvellement insérée dans SQL Server

La fonction SCOPE_IDENTITY() de SQL Server récupère la dernière valeur d'identité insérée, mais cela ne convient pas aux clés primaires GUID. La clause OUTPUT fournit une solution robuste pour capturer le GUID nouvellement généré.

Voici comment obtenir le GUID récemment inséré :

  1. Création de table (clé primaire GUID) :

    <code class="language-sql">CREATE TABLE dbo.GuidPk (
        ColGuid uniqueidentifier NOT NULL DEFAULT NEWSEQUENTIALID(),
        Col2    int              NOT NULL
    )</code>
  2. Insertion avec capture GUID à l'aide de OUTPUT :

    <code class="language-sql">DECLARE @op TABLE (
        ColGuid uniqueidentifier
    )
    
    INSERT INTO dbo.GuidPk (Col2)
    OUTPUT inserted.ColGuid INTO @op
    VALUES (1)</code>

    Cela insère un enregistrement, permettant à SQL Server de générer le GUID. La clause OUTPUT redirige le ColGuid généré vers la variable de table @op.

  3. Vérification :

    <code class="language-sql">SELECT * FROM @op;  -- Shows the newly inserted GUID
    
    SELECT * FROM dbo.GuidPk; -- Confirms the record in the table</code>

La clause OUTPUT récupère efficacement le GUID inséré, même avec plusieurs insertions simultanées. Cette méthode garantit une récupération précise de la clé primaire nouvellement générée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn