我尝试了以下pl sql-function,并想知道它无法正常工作:
function fct_mytable_has_value(p_id IN mytable.Id%Type) return boolean is
begin
return (select mt.id from mytable mt where mt.id = p_id) IS NULL;
end;
有人可以解释为什么这会在编译错误中结束?也许是一个聪明的解决方案?
答案 0 :(得分:1)
测试游标为NULL是没有意义的。
可能你正在寻找一个简单的COUNT。 喜欢的东西:
select COUNT(*) into my_int_var from mytable mt where mt.id = p_id;
return my_int_var;