Получить вновь вставленный идентификатор строки из параметра вывода Oracle

Я пытаюсь добавить новую строку в Oracle и получить идентификатор новой вставленной строки, вот как выглядит мой код

cmd.CommandText = "insert into table1 (id,col2) values (id_seq.NEXTVAL,'abc') returning id into :new_id";

OracleParameter objParameter = new OracleParameter("new_id", OracleDbType.Varchar2);
objParameter.Direction = ParameterDirection.Output;
cmd.Parameters.Add(objParameter);

cmd.Connection.Open();
cmd.ExecuteNonQuery();

newID = objParameter.Value;

Что я делаю неправильно?

1 ответ

Попробуйте изменить запрос вставки на:

insert into table1 (id,col2) values (id_seq.NEXTVAL,'abc') returning id into new_id
Другие вопросы по тегам