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

cara memvalidasi tipe data integer dalam prosedur Oracle

Anehnya, PL/SQL tidak menerapkan INTEGER parameter. Saya berharap Oracle mengonversi data secara implisit atau membuat kesalahan jika 5.2 diteruskan ke INTEGER parameter. Sepertinya Anda perlu menambahkan validasi Anda sendiri:

create or replace procedure test_procedure(a integer) is
begin
    if a is not null and a <> trunc(a) then
        raise_application_error(-20000, 'Parameter must be an integer');
    end if;
end;
/

--Works
begin
    test_procedure(5.0);
end;
/

--Fails with "ORA-20000: Parameter must be an integer".
begin
    test_procedure(5.2);
end;
/



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. KESALAHAN pada baris:PL/SQL:Pernyataan SQL diabaikan. saat membuat/mengganti isi paket

  2. Bagaimana saya bisa menentukan nilai string tipe data Oracle dengan kodenya?

  3. Oracle Database Enforce CHECK pada beberapa tabel

  4. Gunakan TOP atau Rank ketika menemukan beberapa pengamatan pertama atau paling banyak

  5. Dapatkan ukuran array di Oracle sql