در این قسمت از آموزش اوراکل، بعد از آشنایی با یکپارچگی دیتابیس قصد داریم آموزش ادغام کردن رکوردها با دستور MERGE را یاد بگیریم.

با استفاده از دستور MERGE به شما این اجازه را می دهد که رکورد ها یک جدول را با سابر جداول ادغام و ترکیب کنید.

با توجه به کوئری زیر شما با استفاده از دستور MERGE اقدامات کوئری بصورت تکی به شرح ذیل می باشد:

MERGE
  • با استفاده از دستور MERGE INTO نام جدولی که قرار است رکوردهای آن ادغام شود را مشخص می کنید. که در این کوئری رکورد های جدول products مشخص شده است که یا حرف p به عنوان alias مشخص شده است.
  • با استفاده از دستور USING … ON نوع join و ارتباط دو جدول را مشخص می کنید که در کوئری بالا جدول products و product_changes با هم از طریق ستون product_id ارتباط دارند و join زده شده است که جدول product_changes با حرف pc مشخص شده است.
  • با استفاده از دستور WHEN MATCHED THEN مشخص میکنید که اگر بین شرط بالا که در کوئری بالا دو جدول products و product_changes ارتباط و join با موفقیت انجام شود دستور و کدهای داخل WHEN MATCHED THEN انجام و اجرا می شود.
  • با استفاده از دستور WHEN NOT MATCHED THEN مشخص میکنید که اگر بین شرط بالا که در کوئری بالا دو جدول products و product_changes ارتباط و join با موفقیت انجام نشود دستور و کدهای داخل WHEN NOT MATCHED THEN انجام و اجرا می شود.

که در نتیجه کوئری بالا به دلیل اینکه join بین دو جدول برقرار می باشد و درنهایت ۶ رکورد merge شده و دستور بخش update اجرا می شود و کوئری زیر بصورت زیر می باشد :

آموزش اوراکل

اطلاعات بیشتر در مورد MERGE