Rumah > pangkalan data > tutorial mysql > Bagaimana cara membuat pertanyaan kemas kini dengan betul dengan gabungan dalam di Oracle?

Bagaimana cara membuat pertanyaan kemas kini dengan betul dengan gabungan dalam di Oracle?

Susan Sarandon
Lepaskan: 2025-01-25 04:50:09
asal
274 orang telah melayarinya

How to Correctly Perform an UPDATE Query with INNER JOIN in Oracle?

Di Oracle, gunakan gabungan dalaman untuk melaksanakan pertanyaan kemas kini dengan betul

Pertanyaan berikut di MySQL dapat dilaksanakan dengan jayanya:

Walau bagaimanapun, pertanyaan yang sama di Oracle akan menyebabkan kesilapan berikut:

<code class="language-sql">UPDATE table1
INNER JOIN table2 ON table1.value = table2.DESC
SET table1.value = table2.CODE
WHERE table1.UPDATETYPE='blah';</code>
Salin selepas log masuk

penyelesaian

<code>SQL错误:ORA-00933:SQL命令未正确结束
00933. 00000 -  "SQL command not properly ended"</code>
Salin selepas log masuk

Sintaks yang digunakan dalam pertanyaan tidak sah di Oracle. Untuk memenuhi keputusan yang diharapkan, anda boleh menggunakan salah satu kaedah berikut: Kaedah pertama

Kaedah ini menggunakan sub -query untuk mendapatkan nilai kemas kini Table1.Value mengikut syarat sambungan. Ia memastikan bahawa hanya garis sepadan dikemas kini. kaedah kedua

<code class="language-sql">UPDATE table1 SET table1.value = (SELECT table2.CODE
                                  FROM table2 
                                  WHERE table1.value = table2.DESC)
WHERE table1.UPDATETYPE='blah'
AND EXISTS (SELECT table2.CODE
            FROM table2 
            WHERE table1.value = table2.DESC);</code>
Salin selepas log masuk

Kaedah ini menggunakan gambarajah hubungan dalaman yang dikemas kini untuk melaksanakan kemas kini. Ia memerlukan Oracle untuk berfikir bahawa pandangan hubungan dalaman dikemas kini, bergantung kepada peraturan tertentu.

Atas ialah kandungan terperinci Bagaimana cara membuat pertanyaan kemas kini dengan betul dengan gabungan dalam di Oracle?. 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