sql >> Database >  >> RDS >> Sqlserver

Retourwaarde van de opdracht SQL Server Insert met c#

SCOPE_IDENTITY retourneert de laatste identiteitswaarde die is ingevoegd in een identiteitskolom in hetzelfde bereik. Een scope is een module:een opgeslagen procedure, trigger, functie of batch. Daarom vallen twee instructies binnen hetzelfde bereik als ze zich in dezelfde opgeslagen procedure, functie of batch bevinden.

U kunt SqlCommand.ExecuteScalar gebruiken om de opdracht insert uit te voeren en de nieuwe ID in één query op te halen.

using (var con = new SqlConnection(ConnectionString)) {
    int newID;
    var cmd = "INSERT INTO foo (column_name)VALUES (@Value);SELECT CAST(scope_identity() AS int)";
    using (var insertCommand = new SqlCommand(cmd, con)) {
        insertCommand.Parameters.AddWithValue("@Value", "bar");
        con.Open();
        newID = (int)insertCommand.ExecuteScalar();
    }
}


  1. EXPORTEREN ALS INSERT-VERKLARINGEN:Maar in SQL Plus overschrijft de regel 2500 tekens!

  2. Verschil tussen tijdstempels met/zonder tijdzone in PostgreSQL

  3. Problemen bij het importeren van een txt-bestand in postgres met php

  4. Gebruiksstatistieken SQL Server-index