我的简短PL / SQL需要帮助: 我有一个功能完成"创建替换"它需要1个变量,除了我的例外,我想检查它是否是正确的变量类型:
create or replace FUNCTION MYFunction(p_variable in BINARY_INTEGER) RETURN DATE PARALLEL_ENABLE IS
not_number EXCEPTION;
BEGIN
IF p_variable NOT BINARY_INTEGER
THEN RAISE not_number
END IF;
EXCEPTION
...
END
这只是我的功能的简化版本。因此,您可以看到我想检查给定变量是否具有正确的类型。
或者是否有其他基于oracle的异常已经捕获到这种情况?
感谢您的帮助!
答案 0 :(得分:1)
如何重载将接收所有可能(预期)类型的函数并返回描述相应类型的字符串?
这样的事情:
function f_variable_type (p_variable in BINARY_INTEGER) return varchar2
is
(
return 'BINARY_INTEGER';
);
function f_variable_type(p_variable in varchar2) return varchar2
is
(
return 'VARCHAR2';
);
function f_variable_type(p_variable in number) return varchar2
is
(
return 'NUMBER';
);
(所有变量类型等等)
然后在if语句中使用该函数:
BEGIN
IF f_variable_type(p_variable) !='BINARY_INTEGER'
THEN RAISE not_number
END IF;