Oracle
 sql >> база данни >  >> RDS >> Oracle

как да валидирам целочислен тип данни в процедура на oracle

Странно, PL/SQL не налага INTEGER параметри. Бих очаквал Oracle или имплицитно да конвертира данните, или да изведе грешка, ако 5.2 е предадено на INTEGER параметър. Изглежда, че ще трябва да добавите своя собствена проверка:

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. Свързване с Oracle Database с помощта на Sql Server Integration Services

  2. Вмъкване на дати преди 1950 г. в Oracle

  3. създаване на изглед на Oracle въз основа на сравнение на данни между две таблици на база данни

  4. Как да разберем, че инсталираният Oracle Client е 32-битов или 64-битов?

  5. Не може да стартира IntelliJ IDEA CE 12 с Ubuntu Oracle Java 8