Я собираюсь вставить значения в две таблицы в Oracle. Когда я вставляю запись в первую таблицу, и мне нужно получить идентификатор этой таблицы, и ей нужно ввести вторую таблицу.Вставьте записи в две таблицы с помощью oracle
Использование моего запроса Вставляет значения в первую таблицу.
public bool AddNewNews(NEWS nws)
{
bool status = false;
try
{
DatabaseProviderFactory factory = new DatabaseProviderFactory();
Database db = factory.Create("CharikaConString");
con.Open();
string query = @"INSERT INTO NEWS_TBL(NewsID,NAME)
VALUES(newsid.nextval,:NAME)";
cmd = db.GetSqlStringCommand(query);
db.AddInParameter(cmd, "NAME", DbType.String, nws.NAME);
db.ExecuteNonQuery(cmd);
// In the below commented lines are,I tried to insert second table but not success.
// String query2 = "Select newsid.currval";
//string query2 = @"INSERT INTO DTL_TBL(DtlId,desc) VALUES (newsid.currval,nws.Desc)";
// cmd = db.GetSqlStringCommand(query);
//db.AddInParameter(cmd, "desc", DbType.String, nws.Desc);
// db.ExecuteNonQuery(cmd);
}
catch (Exception ex)
{
throw;
}
finally
{
con.Close();
}
return status;
}
Возможный дубликат [Как получить последний вставленный идентификатор?] (Http://stackoverflow.com/questions/5228780/how-to-get-last-inserted-id) –
Вы пробовали простой поиск в Google, проверьте это предыдущее сообщение - http://stackoverflow.com/questions/1336911/how-to-get-the-generated-id-from-an-inserted-row-using-executescalar – MethodMan
@JuanCarlosOropeza thats для sql-сервера, а не оракул – TechGuy