在oracle函数中返回查询

时间:2014-12-28 07:08:16

标签: oracle function return-value

我是oracle数据库的新手。尝试创建一个简单的函数,但它返回单引号的完整选择查询。我不知道为什么。善意的帮助。是的!它在函数编译结束时也说“提示:nm参数从未使用过”我很困惑。

-- function to return a single letter grade

create or replace function update_grade(nm number) return varchar2
as
grd varchar2(3);
begin
grd := 'select gradeid from grade where nm between marks_s and markks_e';
return grd;
end;
 

1 个答案:

答案 0 :(得分:0)

您没有执行任何查询。您只是将查询字符串分配给返回的结果变量。 我没有尝试编译它,但是这样的事情:

    create or replace function update_grade(nm number) return varchar2
    as
    grd varchar2(3);
    begin
    SELECT gradeid  INTO grd from grade where nm between marks_s and markks_e;
    return grd;
    end;

如果没有找到数据,您可以考虑为案例添加处理:

   EXCEPTION
      WHEN NO_DATA_FOUND THEN
        grd:= NULL;