0

确定性函数用“总是返回相同的结果集”来描述

这是什么意思?如果函数总是(无论如何)返回一个定义类型的值?如果是,那么我应该将此功能设为确定性吗?

FUNCTION AccToID(Acc VARCHAR)
  RETURNS INT
BEGIN
RETURN (SELECT `ID` FROM account WHERE accountName=Acc);
END

它可以返回null(一个空集?)或INT,所以我猜它是非确定性函数

我对此感到困惑,如果我将此函数标记为确定性并且它将返回空值,那么它是未定义的行为吗?

也许我可以添加一个条件将 NULL 反转为-1,但这是自残的想法

4

0 回答 0