Dalam Oracle, anda boleh menggunakan "DBMS_OUTPUT" dengan kaedah pencetakan "put_line" untuk mendapatkan maklumat pengecualian prosedur tersimpan Sintaks ialah "DBMS_OUTPUT.put_line('sqlerrm : ' ||sqlerrm);"; " kaedah percetakan Digunakan untuk keluaran pemisah baris, sqlcode mewakili nombor pengecualian, sqlerrm mewakili maklumat terperinci pengecualian, dan boleh digunakan dengan kaedah substr() untuk memintas maklumat pengecualian.
Persekitaran pengendalian tutorial ini: sistem Windows 10, Oracle versi 12c, komputer Dell G3.
Paparan maklumat pengecualian dalam prosedur tersimpan Oracle
Apabila menulis prosedur tersimpan sebelum ini, kaedah pengendalian pengecualian ialah:
Dengan cara penulisan ini, apabila prosedur tersimpan membuang pengecualian, kita tidak tahu jenis pengecualian yang dilemparkannya (contohnya, lebar lajur tidak cukup besar dan pengecualian dilemparkan apabila memasukkan data). Pengecualian boleh dipaparkan seperti berikut Maklumat
EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.put_line('sqlcode : ' ||sqlcode); DBMS_OUTPUT.put_line('sqlerrm : ' ||sqlerrm); ROLLBACK; END ...
sqlcode ialah nombor pengecualian, sqlerrm ialah maklumat terperinci pengecualian tersebut. Jika terdapat terlalu banyak maklumat pengecualian, anda boleh memintas bahagian paparan, seperti
DBMS_OUTPUT.put_line('sqlerrm : ' ||substr(sqlerrm,1,100));
adalah untuk memintas 100 aksara pertama untuk dipaparkan.
Tutorial yang disyorkan: "Tutorial Video Oracle"
Atas ialah kandungan terperinci Bagaimana untuk mendapatkan maklumat pengecualian proses dalam Oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!