sql >> データベース >  >> RDS >> Oracle

Oracleプロシージャで整数データ型を検証する方法

    奇妙なことに、PL/SQLはINTEGERを強制しません パラメーター。 5.2がINTEGERに渡された場合、Oracleが暗黙的にデータを変換するか、エラーをスローすることを期待します。 パラメータ。独自の検証を追加する必要があるようです:

    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. nodejsを使用してMysqlクエリで配列を渡します

    2. PHPを使用してMySQLから現在の日付に日数を追加する

    3. SQLServerMDFファイル回復のための迅速で最良のトリック

    4. postgresqlを使用してタイムスタンプと数値をフォーマットするための2つの質問