sql >> Databáze >  >> RDS >> Oracle

jak ověřit datový typ celého čísla v proceduře Oracle

Kupodivu PL/SQL nevynucuje INTEGER parametry. Očekával bych, že Oracle buď implicitně převede data, nebo vyvolá chybu, pokud bude 5.2 předáno INTEGER parametr. Vypadá to, že budete muset přidat vlastní ověření:

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. Naklonujte databázi SQLite

  2. jak uniknout oddělovači z obsahu sloupce při exportu csv

  3. MySQL:skupina podle data ROZSAH?

  4. SQL Server 2008:Mám 1000 tabulek, potřebuji vědět, které tabulky obsahují data