我在 Oracle 中编写了一些存储函数。其中一个是一个非常基本的函数,它以字符串作为参数并返回另一个字符串。这是我的功能:
CREATE OR REPLACE
FUNCTION get_mail_custcode (
custcodeParam IN customer_table.custcode%TYPE)
RETURN VARCHAR2
IS
mail_rc contact_table.email%TYPE;
BEGIN
SELECT cc.email
INTO mail_rc
FROM contact_table cc, customer_table cu
WHERE cu.customer_id = cc.customer_id
AND cu.custcode like custcodeParam ;
RETURN mail_rc ;
END;
所以它不起作用..该功能似乎运行良好但没有任何结束执行..该功能是工作时间和时间,我在2或3分钟后手动取消操作(此查询通常会立即产生结果)。在一次又一次地编写查询之后,我终于(并且随机)将其更改cu.custcode like custcodeParam
为 acu.custcode = custcodeParam
并且它正在工作!
所以我的问题是为什么?为什么我不能like
在存储函数中使用比较器?为什么这不会出错,但函数会无限期地运行。
谢谢。