Если приложение на C#, которое через OracleDataProvider выполняет вставку записи в таблицу. Создается акт, привязанный к ДО, дальше нужно создать спецификацию данного акта. А для этого нужно знать NREC созданной записи. Сразу в голову приходит несколько вариантов, но ни один сильно не нравится:
1) после insert выполнить select и найти нужную запись.
Минусы: нужно писать довольно большой запрос, плюсы: однозначный быстрый поиск
2) сразу после insert считать текущее значение последовательности, используемой при автоформировании nrec.
Минусы: необходимо как-то обеспечить невозможности использованием СУБД данной последовательности до того момента, как я считаю её текущее значение. Плюсы: простой код, если не учитывать подводные камни.
Может можно как-то еще. У кого будут идеи, поделитесь.
Программная вставка записи
Модераторы: m0p3e, edward_K, Модераторы
-
- Сообщения: 18
- Зарегистрирован: 01 мар 2012, 15:14
- Откуда: Украина, Вознесенск
- Контактная информация:
Re: Программная вставка записи
делайте по 2 только с транзакцией.
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
-
- Сообщения: 18
- Зарегистрирован: 01 мар 2012, 15:14
- Откуда: Украина, Вознесенск
- Контактная информация:
Re: Программная вставка записи
Если верить документации Oracle, то достаточно написать
Пожалуй, так и сделаю
Код: Выделить всё
OracleTransaction transaction = _connection.BeginTransaction(IsolationLevel.RepeatableRead);
...
transaction.Commit();