برای حذف و یا بروزرسانی رکوردهای یک جدول «در بسیاری از مواقع» نیاز به join آن جدول با جداول دیگر داریم تا تعیین کنیم کدام یک از رکوردها باید delete و یا update شوند تا قبل از اوراکل 23c در این شرایط به ناچار می بایست از دستور select هم همزمان استفاده می کردیم و امکان استفاده از Direct Join را نداشتیم اما در نسخه 23c، اوراکل این قابلیت را اضافه کرده است.
برای مثال دستور زیر با join بین دو جدول employees و departments مشخص می کند کدام رکوردهای جدول employees باید بروزرسانی شوند:
SQL> update employees e 2 set e.salary = e.salary * 2 3 from departments d 4 where d.department_id = e.department_id 5 and d.department_name = 'IT'; 5 rows updated
از این قابلیت برای حذف رکوردها هم می توانیم استفاده کنیم:
SQL> delete employees e 2 from departments d 3 where d.department_id = e.department_id 4 and d.department_name = 'IT' 5 and e.employee_id!=d.manager_id; 4 rows deleted
اینم خیلی خوبه. داره از زمختی در میاد اوراکل