Identity Column در اوراکل 12c

تا قبل از اوراکل نسخه 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

ارتباط با نویسنده مطلب:vahidusefzadeh@ کانال تخصصی اوراکل و لینوکس: OracleDB@

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.