gpt4 book ai didi

我的函数中的 Oracle INVALID_NUMBER 异常不起作用

转载 作者:行者123 更新时间:2023-12-04 03:22:02 25 4
gpt4 key购买 nike

下面的 Oracle 函数将“A”分配给数字变量。
但是 Exception 子句没有捕获 INVALID_NUMBER系统异常。

CREATE OR REPLACE FUNCTION TEST2
(P1 IN VARCHAR2)
RETURN NUMBER AS V_VALUE NUMBER;
BEGIN
SELECT(
--SELECT 1/TO_NUMBER(P1)
SELECT 'A'
FROM DUAL
)
INTO V_VALUE
FROM DUAL;
RETURN V_VALUE;

EXCEPTION
WHEN INVALID_NUMBER THEN -- If I change INVALID_NUMBER to OTHERS, then it works.
RETURN -1;
END;
/


SELECT TEST2('1') FROM DUAL;

当我更改 INVALID_NUMBEROTHERS ,然后它工作。

如何修改上面的代码来聊天 INVALID_NUMBER异常(exception)?

最佳答案

因为你得到 VALUE_ERRORORA-06502在您的情况下提出。所以,替换 INVALID_NUMBERVALUE_ERROR .

举个例子;如果 SELECT声明是:

SELECT 5
INTO V_VALUE
FROM DUAL
WHERE TO_NUMBER('A')=1;

你会得到 INVALID_NUMBER ( ORA-01722 ) 异常。

关于我的函数中的 Oracle INVALID_NUMBER 异常不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56724707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com