مقدمه :

برخی از ویژگی های جدید اوراکل 23c که در آینده منتشر خواهد شد را طبق مستندات و ارایه ها تهیه کنندگان آن، در این مستند مورد بررسی قرار خواهیم داد. باید این نکته را در نظر داشت   نسخه 23C از نوع Long Term Support می باشد و طبق گفته ها تا سال 2028 پشتیبانی دارد و تا 2031 ادامه دارد.

بررسی اجمالی برخی امکانات جدید پایگاه داده 23C اوراکل

امکانات پایگاه داده 23C :

اجرای دستور select بدون نام جدول : در مواقعی که از جدول dual استفاده می کنیم. دیگر لازم نیست عبارت from dual را درج کنیم

Select sysdate;

استفاده از alias ستون ها در group by  و having: از نام های مستعار در دستورات group by و having نمی شد استفاده کنیم، قابلیتی که در order by وجود دارد. حالا از نسخه 23c  این قابلیت اضافه می شود. کد نویسی ساده تر!!!

Select first_name fn,count(*) from family group by fn;

استفاده از دستورات شرطی if exists و if not exist در دستورات DDL: با استفاده از این قابلیت می توان به دستورات DDL قابلیت کنترل را داد که مانند مثال اگر جدول با این نام وجود دارد آن را drop کن و در غیر اینصورت هیچ. پس در این حالت دستور با خطا مواجه نمی شود.

Drop table family;

Ora-00942 = ….

Drop table if exists family;

Table dropped.

ایجاد ساختار Table Value: همواره در شرایطی لازم می شود که تعداد رکوردی خارج از جداول داشته باشیم تا در دستورات  خود از انها استفاده کنیم در گذشته باید آنها را تبدیل به جدول می کردیم  و یا function table ها استفاده می کردیم. حال با قابلیت table value این امر به راحتی قابل اجرا می باشد.

Select fname,lname from (values (‘ali’,’alian’),(‘mohammad’,’mohammadian’)) t1 (fname,lname);

Fnam  lname

—————-

Ali alian

Mohammad mohammadian

استفاده returning دردستورات merge : پس از انجام یک دستور DML، نتیجه نهایی را می توان به client بازگرداند (به عنوان مثال یک  Cient PL/SQL). با این حال، تا کنون RETURNING برای MERGE در دسترس نبود و فقط پس از انجام یک به‌روزرسانی(Update )، مقدار جدید را برمی‌گرداند. از 23C، می‌توانیم از عبارت OLD column_name برای بدست آوردن مقدار ستون اصلی استفاده کنیم.

Merge into  family f using (select salary,personid from persons) p on p.personid=f.id

When matched then update set f.income = p.salary

When not matched then insert into (f.income,f.id) values (p.salary, p.personid)

Returnin f.income,p.salary into :n1 , :n2;

بهبود متن خطا ها : در این نسخه سعی شده خطا ها تا جای ممکن شفاف تر باشند.

Select * from hr.family;

Ora-00942 = table or view dose not exist

Select * from hr.family;

Ora-00942 = table or view (“hr”,”family”)dose not exist

دسترسی در sechma :  امکان اعطای دسترسی به تمام اشیاء در یک schema در یک عبارت واحد.

 GRANT SELECT ANY TABLE ON SCHEMA TO ;

نقش developer : به سرعت دسترسی های لازم را برای انجام توسعه پایگاه داده در اختیار کاربر قرار دهید.

Exec dbms_developer_admin.grant_privs(dev_name);

اضافه شدن boolean type در ستون ها : می توانیم ستون هایی از نوع boolean در جداول خود تعریف کنیم و از آنها استفاده کنیم.

برخی دیگر از قابلیت های اضافه شده ک تا به حال در مستندات وکنفرانس ها  و … از آنها صحبت شده :

  • ساخت جدول با 4K ستون
  • Json schema
  • SQL Domains 
  • JavaScript Stored Procedures
  • Oracle Database <=> Kafka integration
  • OAuth 0 integration

برای دریافت مشاوره، آموزش و خدمات پایگاه داده اوراکل با در ارتباط باشید.