Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengemas kini Jadual SQL Oracle dengan Data dari Jadual Lain?

Bagaimana untuk Mengemas kini Jadual SQL Oracle dengan Data dari Jadual Lain?

Susan Sarandon
Lepaskan: 2025-01-22 02:46:10
asal
478 orang telah melayarinya

How to Update an Oracle SQL Table with Data from Another Table?

Kemas kini data jadual menggunakan Oracle SQL

Apabila berurusan dengan pangkalan data hubungan seperti Oracle SQL, anda mungkin menghadapi senario di mana anda perlu mengemas kini jadual dengan data daripada jadual lain. Tugasan ini biasanya dilakukan menggunakan perintah UPDATE SQL.

Soalan:

Andaikan terdapat dua jadual, Jadual 1 dan Jadual 2, kedua-duanya mengandungi lajur id, nama dan desc, dan anda dikehendaki mengemas kini data dalam Jadual 1 dengan data yang sepadan dalam Jadual 2 berdasarkan nilai id yang sepadan. Hasil yang diinginkan ialah jadual 1 harus dikemas kini dengan nama dan nilai desc yang sepadan dengan nilai id dalam jadual 2.

Penyelesaian:

Untuk melaksanakan kemas kini ini, anda boleh menggunakan kemas kini yang berkaitan dalam Oracle SQL. Berikut ialah kaedah terperinci:

<code class="language-sql">UPDATE table1 t1
SET (name, desc) = (SELECT t2.name, t2.desc
FROM table2 t2
WHERE t1.id = t2.id)
WHERE EXISTS (
SELECT 1
FROM table2 t2
WHERE t1.id = t2.id );</code>
Salin selepas log masuk

Arahan:

  • Arahan KEMASKINI memulakan operasi kemas kini pada jadual 1, menyalinkannya sebagai t1.
  • Klausa SET menyatakan bahawa nama dan lajur desc Jadual 1 akan dikemas kini dengan nilai dari Jadual 2.
  • Subkueri dalam klausa SET mendapatkan semula nama dan nilai desc yang sepadan untuk setiap baris dalam Jadual 1 daripada Jadual 2 (t2).
  • Klausa WHERE dalam subkueri memastikan bahawa hanya baris dengan nilai id yang sepadan dikemas kini.
  • Klausa luar WHERE selanjutnya menyemak sama ada terdapat baris dalam Jadual 2 yang sepadan dengan setiap baris dalam Jadual 1. Ini memastikan bahawa hanya baris dengan padanan yang sah dikemas kini.

Pendekatan alternatif (dengan andaian kunci mengekalkan pandangan):

Jika gabungan antara Jadual 1 dan Jadual 2 menghasilkan paparan pemeliharaan kunci, anda juga boleh menggunakan kaedah berikut:

<code class="language-sql">UPDATE (SELECT t1.id, 
t1.name name1,
t1.desc desc1,
t2.name name2,
t2.desc desc2
FROM table1 t1,
table2 t2
WHERE t1.id = t2.id)
SET name1 = name2,
desc1 = desc2;</code>
Salin selepas log masuk

Arahan:

  • Kaedah ini menganggap bahawa pandangan memelihara kunci telah dibuat sebagai langkah perantaraan.
  • Bahagian pertama ialah subkueri yang melakukan cantuman antara Jadual 1 dan Jadual 2.
  • Mengekalkan paparan berdasarkan kekunci, anda boleh mengemas kini terus nama dan lajur penerangan jadual 1 dengan nilai dalam paparan perantaraan.

Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Jadual SQL Oracle dengan Data dari Jadual Lain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan