我想创建一个函数,该函数返回一个名为Rating with a子句的表中的行数。在declare语句和结束语句之前我出错了吗?
create or replace
FUNCTION get_movies(user IN NUMBER) RETURN NUMBER
IS
DECLARE cnt NUMBER;
BEGIN
SELECT count(*)
INTO cnt
FROM rating
where userid= user;
RETURN cnt;
END;
我将非常感谢帮助。谢谢。
答案 0 :(得分:3)
您不应该拥有DECLARE
关键字。您只需要匿名块(或子块)。
create or replace
FUNCTION get_movies(p_userid IN NUMBER) RETURN NUMBER
IS
cnt NUMBER;
BEGIN
...
user
是保留字,因此我建议不要将其用作参数名称。在where
子句中,我不确定它是否会使用您的参数值,或者执行该函数的用户的名称;由于该字符串值无法隐式转换为数字,因此会出错。