我正在研究这个函数是pl / sql我要返回一个数字,表达量。
这是我的功能:
CREATE OR REPLACE FUNCTION media_f(
p_media in varchar2,
p_date in TIMESTAMP,
p_sentiment in varchar2)
RETURN NUMBER
IS
l_amount NUMBER;
CURSOR c_media IS
SELECT COUNT()
FROM MEDIA
WHERE MEDIA.DATES = p_date
AND MEDIA.KIND = p_media
AND MEDIA.POSITIVE_NEGATIVE = p_sentiment;
BEGIN
open c_media;
fetch c_media into l_amount;
close c_media;
RETURN l_amount;
END;
当我尝试使用它时:
select Project.MEDIA_F ('tv', '06-05-13', 'n')
from MEDIA;
它返回表中的所有记录,其中包含1或0。
答案 0 :(得分:0)
您没有在from
子句中使用表中的任何列。但是,SQL引擎仍会为每一行返回一行"生成"通过from
条款。
假设您使用的是Oracle,只需使用dual
而不是表名:
select Project.MEDIA_F('tv', '06-05-13', 'n')
from dual;
大多数其他数据库不需要from
子句。