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

Как да получите генерирания идентификатор от вмъкнат ред с помощта на ExecuteScalar?

Ако сте на oracle, трябва да използвате ExecuteNonQuery и ResultParameter. Няма начин да напишете това като заявка.

using (OracleCommand cmd = con.CreateCommand()) {
    cmd.CommandText = "insert into foo values('foo','bar') returning id into :myOutputParameter";
    cmd.Parameters.Add(new OracleParameter("myOutputParameter", OracleDbType.Decimal), ParameterDirection.ReturnValue);
    cmd.ExecuteNonQuery(); // an INSERT is always a Non Query
    return Convert.ToDecimal(cmd.Parameters["myOutputParameter"].Value);
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. как да получа имена на дялове в oracle, докато въвеждам дата

  2. Обединяване на последователни интервали на валидност на датата

  3. Нулирайте последователността до определена стойност

  4. Функция TO_DATE() в Oracle

  5. Обходете редовете на втора таблица, за да върнете набор от резултати