ویرگول
ورودثبت نام
مسعود سلطانی راد
مسعود سلطانی راد
خواندن ۳ دقیقه·۲ سال پیش

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

مقدمه :

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

امکانات پایگاه داده 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

استفاده retuning دردستورات 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 <schema name> TO <user name>;

نقش 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 2.0 integration

· ...

پایگاه داده اوراکلoracle database 23cخدمات نگهداری اوراکلآموزش اورکل 23cمسعود سلطانی راد
چند سالی هست در حوزه داده ها ( نگهداری و تحلیل آنها) فعالیت دارم و همیشه سعی کردم آموخته هایم رو به اشتراک بگذارم soltanirad@artarad.ir www.artarad.ir
شاید از این پست‌ها خوشتان بیاید