我是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;
答案 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;