Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyelesaikan ORA-01795: Bilangan Maksimum Ungkapan dalam Senarai?

Bagaimana untuk Menyelesaikan ORA-01795: Bilangan Maksimum Ungkapan dalam Senarai?

Patricia Arquette
Lepaskan: 2025-01-03 08:48:38
asal
415 orang telah melayarinya

How to Solve ORA-01795: Maximum Number of Expressions in a List?

ORA-01795: Mengatasi Had Ungkapan dalam Senarai

Apabila cuba menanyakan pangkalan data dengan berbilang nilai menggunakan klausa IN, anda mungkin menghadapi "ORA-01795: bilangan maksimum ungkapan dalam senarai ialah 1000 ralat." Ralat ini timbul apabila bilangan nilai dalam klausa IN melebihi had 1000.

Penyelesaian: Bahagi dan Takluk

Untuk memintas sekatan ini, adalah perlu untuk bahagikan senarai nilai kepada beberapa kumpulan yang lebih kecil. Penyelesaian berikut boleh dilaksanakan:

  • Bahagikan senarai nilai kepada ketulan 999 ungkapan atau kurang.
  • Gunakan berbilang klausa IN untuk menanyakan pangkalan data bagi setiap bahagian nilai.

Sebagai contoh, pertimbangkan pertanyaan:

SELECT field1, field2, field3
FROM table1
WHERE name IN
(
'value1',
'value2',
...
'value10000+'
);
Salin selepas log masuk

Boleh ditulis semula menggunakan berbilang klausa IN seperti berikut:

SELECT field1, field2, field3
FROM table1
WHERE  name IN ('value1', 'value2', ..., 'value999')
    OR name IN ('value1000', ..., 'value1999')
    OR ...;
Salin selepas log masuk

Dengan membahagikan senarai nilai kepada bahagian yang lebih kecil, pertanyaan boleh dilaksanakan tanpa menemui ORA- ralat 01795. Penyelesaian ini menyediakan penyelesaian yang mudah untuk mengendalikan senarai besar nilai dalam pertanyaan pangkalan data.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan ORA-01795: Bilangan Maksimum Ungkapan dalam Senarai?. 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