Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Връщане на стойност от команда на SQL Server Insert с помощта на c#

SCOPE_IDENTITY връща последната стойност на идентичност, вмъкната в колона за идентичност в същия обхват. Обхватът е модул:съхранена процедура, тригер, функция или партида. Следователно два оператора са в един и същ обхват, ако са в една и съща съхранена процедура, функция или партида.

Можете да използвате SqlCommand.ExecuteScalar, за да изпълните командата за вмъкване и да извлечете новия идентификатор с една заявка.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Кой е най-добрият начин за автоматично генериране на INSERT изрази за таблица на SQL Server?

  2. Как да добавите ограничение за първичен ключ към колони за идентичност към всички таблици в базата данни на SQL Server - SQL Server / TSQL Урок, част 63

  3. Променете отместването на часовата зона на стойността на дата и отместване в SQL Server (T-SQL)

  4. Не може да се използва UPDATE с клауза OUTPUT, когато има тригер в таблицата

  5. Създаване на планове за поддръжка в SQL Server