Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Membetulkan Ralat ORA-00933 Semasa Mengemas kini Jadual Oracle Menggunakan Joins?

Bagaimana untuk Membetulkan Ralat ORA-00933 Semasa Mengemas kini Jadual Oracle Menggunakan Joins?

DDD
Lepaskan: 2024-12-30 06:17:30
asal
620 orang telah melayarinya

How to Fix ORA-00933 Error When Updating Oracle Tables Using Joins?

Pertanyaan Kemas Kini Oracle Menggunakan Sertai: Menyelesaikan Ralat ORA-00933

Dalam percubaan untuk mengemas kini lajur 'total_adjusted_cost' dalam jadual1 menggunakan gabungan dengan jadual t1, ralat ORA-00933 ditemui. Ralat ini menunjukkan bahawa arahan SQL tidak ditamatkan dengan betul.

Untuk menyelesaikan isu ini, pertimbangkan untuk menggunakan pernyataan MERGE. Pernyataan MERGE menggabungkan kefungsian pernyataan INSERT, UPDATE dan DELETE ke dalam satu operasi. Begini cara anda boleh mengemas kini jadual menggunakan pernyataan MERGE:

MERGE INTO table1 tab1
USING
(
SELECT tab3.name, tab3.add, SUM(tab2.amount) AS total
FROM table2 tab2,
table3 tab3 ,
table4 tab4
WHERE tab2.id        = tab3.id
AND tab3.id            = tab4.id
AND tab4.indicator             ='Y'
GROUP BY tab3.name,
tab3.add
)t1
ON (tab1.id      = t1.id)
WHEN MATCHED THEN
UPDATE SET tab1.total_adjusted_cost = tab1.total_adjusted_cost + t1.total
Salin selepas log masuk

Dalam pernyataan MERGE ini:

  • Klausa USING menentukan jadual t1 yang menyediakan data sumber untuk kemas kini .
  • Klausa ON menyatakan keadaan cantuman antara jadual1 dan t1.
  • The Klausa WHEN MATCHED menentukan operasi kemas kini yang akan dilakukan pada baris yang dipadankan.

Menggunakan pernyataan MERGE memastikan kemas kini dilakukan dengan betul dan mengelakkan ralat ORA-00933.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat ORA-00933 Semasa Mengemas kini Jadual Oracle Menggunakan Joins?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan