为什么我不能在函数中使用is null条件选择语句

时间:2014-10-15 15:52:24

标签: sql oracle plsql

我尝试了以下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;

有人可以解释为什么这会在编译错误中结束?也许是一个聪明的解决方案?

1 个答案:

答案 0 :(得分:1)

测试游标为NULL是没有意义的。

可能你正在寻找一个简单的COUNT。 喜欢的东西:

select COUNT(*) into my_int_var  from mytable mt where mt.id = p_id;
return my_int_var;