Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Làm cách nào để lấy id đã tạo từ một hàng được chèn bằng ExecuteScalar?

Nếu bạn đang sử dụng oracle, bạn phải sử dụng ExecuteNonQuery và ResultParameter. Không có cách nào để viết điều này dưới dạng truy vấn.

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. Nhận oracle.jdbc.driver.LogicalConnection, cần oracle.jdbc.OracleConnection

  2. SQL:Bạn sẽ chia 100.000 bản ghi từ bảng Oracle thành 5 phần như thế nào?

  3. Lỗi:ORA-00955:tên đã được sử dụng bởi một đối tượng hiện có trong Hàm Oracle

  4. PLS-00394:Sai số giá trị trong danh sách INTO của câu lệnh tìm nạp

  5. Thủ tục chạy Oracle với tham số một trong và tham số nhiều ra