【发布时间】:2020-08-20 14:38:10
【问题描述】:
我在 MySQL 中有简单的查询,比如
SELECT * FROM generals WHERE `Key` = '{$key}'
我想使用 PL/SQL 在 Oracle 中创建函数,当我将其转换为 PL/SQL时,它看起来像
FUNCTION GET_GENERALS_BY_KEY(p_key IN VARCHAR2)
RETURN SYS_REFCURSOR IS
rc SYS_REFCURSOR;
BEGIN
OPEN rc FOR
SELECT * FROM generals WHERE Key LIKE '%p_key%';
RETURN rc;
END GET_GENERALS_BY_KEY;
当我测试它时,我调用函数就像
SELECT GENERALS_PACKAGE.GET_GENERALS_BY_KEY('Company_Name') FROM DUAL;
但不返回任何东西。 但是当我使用这样的查询时,它会返回结果。
SELECT * FROM generals WHERE Key = 'VAT';
怎么了?我哪里做错了?
【问题讨论】: