تا قبل از اوراکل نسخه 12c، برای مقدار دهی خودکار ستون کلید اصلی، معمولا از sequence استفاده می شد. در اوراکل 12c، این کار با کمک قابلیت Identity Column قابل انجام است البته اوراکل هم در پس زمینه این ویژگی، از sequence استفاده می کند و استفاده از ویژگی Identity Column، منجر به ایجاد sequence خواهد شد.
مثال زیر را ببینید.
CREATE TABLE person(
id NUMBER GENERATED AS IDENTITY,
name varchar(333),
last_name varchar(333));
بلافاصله بعد از ایجاد جدول person، با رجوع به ویوی user_sequences خواهیم دید که sequence جدیدی برای مدیریت این موضوع ایجاد شده است:
select sequence_name from user_sequences;
ISEQ$$_93073
البته در انتهای نام sequence، شماره جدول مورد نظر وجود دارد:
select sequence_name from user_sequences l where l.sequence_name like ‘%’||(select object_id from dba_objects where object_name=’PERSON’);
93073
به صورت تست، مقادیری را در جدول درج می کنیم تا رفتار این فیلد را مشاهده کنیم:
insert into person(name,last_name) values(‘vahid’,’usefzadeh’);
commit;
select * from us_person;
1 vahid usefzadeh
همچنین می توان محدوده و مقدار ابتدایی و انتهایی را برای فیلد مورد نظر مشخص کرد:
id number(9) GENERATED ALWAYS AS IDENTITY START WITH 50 INCREMENT BY 10 MAXVALUE 9999