所以我在mysql workbench中添加了这个存储函数:
CREATE FUNCTION `getfullAdd` (id INT unsigned)
RETURNS VARCHAR(160)
CHARACTER SET utf8
COMMENT 'function that returns all addresses with character string when you enter customer number'
DETERMINISTIC
READS SQL DATA
BEGIN
DECLARE addfound VARCHAR(160) CHARACTER SET utf8;
SELECT CONCAT_WS(', ', addr01, addr02) INTO addfound FROM dtb_customer WHERE customer_id=id;
RETURN addfound;
END
我对这个DETERMINISTIC
关键字不感兴趣。
它对上述功能有什么作用?
如果由此关键字设置,函数是否通过相同的参数返回相同的值?
如果更改了客户的地址,此功能是否会从同一参数返回不同的结果?
答案 0 :(得分:1)
来自手册
“如果一个例程对于相同的输入参数总是产生相同的结果,则该例程被认为是”确定性的“,否则被认为是”不确定的“。
https://dev.mysql.com/doc/refman/5.7/en/create-procedure.html
因此,只要没有客户ID发生变化,您的功能就是DETERMINISTIC。