послідовності oracle

Постачальник даних .NET Framework для Oracle підтримує отримання сформованих на сервері ключових значень послідовності Oracle після виконання вставок за допомогою OracleDataAdapter.

SQL Server і Oracle підтримують автоматичне створення стовпців автопріращенія, які можуть використовуватися в якості первинних ключів. Ці значення формуються сервером у міру додавання рядків в таблицю. У SQL Server задається властивість IDENTITY стовпчика, в Oracle створюється послідовність. Різниця між стовпцями автопріращенія в SQL Server і послідовностями в Oracle полягає в наступному.

У SQL Server стовпець позначається як стовпець автопріращенія, і SQL Server автоматично формує для нього нові значення при вставці нового рядка.

У Oracle створюється послідовність нових значень для стовпця таблиці, але відсутній прямий зв'язок між цією послідовністю і таблицею або стовпцем. Послідовність Oracle є таким же об'єктом, як таблиця або збережена процедура.

При створенні послідовності в базі даних Oracle можна визначити її початкове значення і приріст значень. Перед вставкою нових рядків можна також запросити нових значень послідовності. Це означає, що код може отримати ключові значення для нових рядків перед вставкою їх в базу даних.

Додаткові відомості про створення стовпців автопріращенія за допомогою SQL Server і ADO.NET см. В розділах Отримання значень ідентифікаторів або автонумерації і Створення стовпців AutoIncrement.

У наступному прикладі на мові C # показано отримання нових значень послідовності в базі даних Oracle. Приклад посилається на послідовність у запиті INSERT INTO, який використовується для вставки нових рядків, і повертає значення послідовності, сформований пропозицією RETURNING, вперше з'явилося в Oracle10g. У прикладі додається набір нових рядків у таблицю DataTable за допомогою можливості автопріращенія ADO.NET для формування значень «местозаполнітелей» первинного ключа. Зверніть увагу, що значення приросту ADO.NET, сформований для нових рядків, являє собою просто «местозаполнітель». Це означає, що база даних може сама сформувати ці значення замість значень, створених ADO.NET.

Перед вставкою очікують рядків в базу даних приклад відображає їх вміст на екрані. Потім створюється новий об'єкт OracleDataAdapter. і його властивостями InsertCommand і UpdateBatchSize присвоюються значення. Приклад застосовує ту ж логіку, щоб повернути сформовані сервером значення за допомогою вихідних параметрів. Після цього приклад виконує вставку рядків і відображає вміст таблиці DataTable.

Схожі статті