Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Kesalahan Oracle ORA-06512

ORA-06512 adalah bagian dari tumpukan kesalahan. Ini memberi kita nomor baris tempat pengecualian terjadi, tetapi bukan penyebab pengecualian. Itu biasanya ditunjukkan di sisa tumpukan (yang masih belum Anda posting).

Dalam komentar Anda mengatakan

Nah, kode Anda melakukan ini:

IF ((pNum < 12) OR (pNum > 14)) THEN     
    RAISE vSOME_EX;

Artinya, memunculkan pengecualian ketika pNum tidak antara 12 dan 14. Jadi, apakah sisa tumpukan kesalahan menyertakan baris ini?

Jika demikian, yang perlu Anda lakukan hanyalah menambahkan blok pengecualian untuk menangani kesalahan. Mungkin:

PROCEDURE PX(pNum INT,pIdM INT,pCv VARCHAR2,pSup FLOAT)
AS
    vSOME_EX EXCEPTION;

BEGIN 
    IF ((pNum < 12) OR (pNum > 14)) THEN     
        RAISE vSOME_EX;
    ELSE  
        EXECUTE IMMEDIATE  'INSERT INTO M'||pNum||'GR (CV, SUP, IDM'||pNum||') VALUES('||pCv||', '||pSup||', '||pIdM||')';
    END IF;
exception
    when vsome_ex then
         raise_application_error(-20000
                                 , 'This is not a valid table:  M'||pNum||'GR');

END PX;

Dokumentasi mencakup penanganan pengecualian PL/SQL secara mendalam.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa jejak klien minimum yang diperlukan untuk menghubungkan C# ke database Oracle?

  2. Oracle SQL:Ekspor ke CSV menghindari baris baru

  3. Apakah ada ekspresi CASE seperti itu di JPQL?

  4. Oracle - pisahkan tanggal menjadi empat bagian

  5. Tidak dapat menjalankan kueri pemilihan dinamis besar dalam prosedur tersimpan