Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Mengemas kini Jadual Oracle dengan Data daripada Yang Lain Menggunakan SQL?

Bagaimanakah Saya Boleh Mengemas kini Jadual Oracle dengan Data daripada Yang Lain Menggunakan SQL?

Linda Hamilton
Lepaskan: 2025-01-22 02:41:14
asal
439 orang telah melayarinya

How Can I Update an Oracle Table with Data from Another Using SQL?

Menggunakan SQL untuk Mengemas kini Jadual Oracle dengan Data daripada Yang Lain

Oracle SQL menawarkan kaedah yang cekap untuk mengemas kini satu jadual dengan data daripada yang lain. Ini boleh dicapai menggunakan kemas kini berkorelasi atau sintaks alternatif.

Mari kita ilustrasikan dengan contoh jadual:

<code class="language-sql">Table 1:
id | name | description
-----------------------
1   | a     | abc
2   | b     | def
3   | c     | adf</code>
Salin selepas log masuk
<code class="language-sql">Table 2:
id | name | description
-----------------------
1   | x     | 123
2   | y     | 345</code>
Salin selepas log masuk

Kaedah 1: Kemas Kini Subkueri Berkorelasi

Pendekatan ini menggunakan subkueri berkorelasi untuk mengambil data yang sepadan daripada Table 2 untuk setiap baris dalam Table 1:

<code class="language-sql">UPDATE table1 t1
SET (name, description) = (SELECT t2.name, t2.description
                         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

Klausa WHERE EXISTS memastikan bahawa hanya baris dengan ID yang sepadan dalam kedua-dua jadual dikemas kini.

Kaedah 2: Sintaks Alternatif menggunakan Subkueri

Kaedah ini menggunakan subkueri untuk mencipta paparan sementara yang menggabungkan kedua-dua jadual, kemudian mengemas kini paparan ini:

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

Pendekatan ini memanfaatkan JOIN untuk menggabungkan jadual dengan cekap. Kemas kini kemudiannya mengubah suai lajur yang dipilih (name1, desc1) berdasarkan lajur yang sepadan daripada Table 2 (name2, desc2). Lajur id berfungsi sebagai kunci gabungan, memastikan kemas kini yang tepat kepada Table 1.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengemas kini Jadual Oracle dengan Data daripada Yang Lain Menggunakan SQL?. 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