Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak uzyskać wygenerowany identyfikator z wstawionego wiersza za pomocą ExecuteScalar?

Jeśli korzystasz z Oracle, musisz użyć ExecuteNonQuery i ResultParameter. Nie ma możliwości zapisania tego jako zapytania.

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. Jak sformatować liczbę jako walutę w Oracle

  2. oracle FOR LOOP nie wykonuje iteracji w SYS_REFCURSOR

  3. SQLPlus Błąd AUTO_INCREMENT

  4. Oracle:znajdź największą liczbę w jednym ciągu

  5. Słowo kluczowe „CONTINUE” w Oracle 10g PL/SQL