sql >> Database teknologi >  >> RDS >> Sqlserver

Returner værdi fra SQL Server Indsæt kommando ved hjælp af c#

SCOPE_IDENTITY returnerer den sidste identitetsværdi, der er indsat i en identitetskolonne i samme omfang. Et omfang er et modul:en lagret procedure, trigger, funktion eller batch. Derfor er to sætninger i samme omfang, hvis de er i den samme lagrede procedure, funktion eller batch.

Du kan bruge SqlCommand.ExecuteScalar til at udføre insert-kommandoen og hente det nye ID i én forespørgsel.

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. Er java.sql.Timestamp tidszonespecifik?

  2. identitet fra sql indsæt via jdbctemplate

  3. Sådan udføres og administreres MySQL-sikkerhedskopier til Oracle DBA'er

  4. Hvordan får man information om en brugerdefineret type?