我在Oracle 12c数据库中有一个名为testimonial的表,其内容为列。我创建了一个存储的搜索过程来查找其内容与定义为:
的输入字符串匹配的推荐CREATE OR REPLACE PROCEDURE Search_Testimonials
(keyword IN VARCHAR2,
output OUT SYS_REFCURSOR)
AS
BEGIN OPEN output
FOR SELECT *
FROM Testimonial T
WHERE T.content LIKE keyword;
END;
/
VAR output REFCURSOR;
DECLARE
keyword VARCHAR2(15) := '%like%';
BEGIN
Search_Testimonials(keyword, :output);
END;
/
我正在尝试使用输入' like'对此过程进行测试。根据我在本网站和其他网站上发现的内容,我应该运行以下内容:
var output refcursor;
exec Search_Testimonials('like', output);
print output;
但是我的输出只是:
OUTPUT
------
当它应显示推荐表中的所有记录时,因为它们都包含“'”等字样。'
我在程序中弄乱了什么吗?我环顾四周,这似乎是我能想到的。谢谢!