sql >> Databáze >  >> RDS >> Oracle

Jak získat vygenerované ID z vloženého řádku pomocí ExecuteScalar?

Pokud používáte oracle, musíte použít ExecuteNonQuery a ResultParameter. Neexistuje způsob, jak to napsat jako dotaz.

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. Databázi nelze otevřít, protože je verze 851. Tento server podporuje verzi 782 a starší. Cesta na nižší verzi není podporována

  2. Problém s MySQL Match

  3. Jak vytvořit řadová čísla v PostgreSQL

  4. Zabezpečení na úrovni řádků pro vlastníka tabulky nefunguje