新手提问。我正在开发一个仅使用行级二进制日志记录的 MySQL 项目。不会有复制。由于日志记录是行级的,因此函数是否具有确定性是否重要?从手册中,我的理解是它没有。
20 年 6 月 9 日添加:
我添加了一个我认为不确定的示例;如果我错了,请告诉我。对于给定的数据状态,结果将始终相同,返回一组行中的最高日期值,但对于给定患者 ID 的相同输入,并不总是返回相同的值,因为它会随着时间而变化。那正确吗?
CREATE FUNCTION `last_enc_date`(patient INT) RETURNS date
BEGIN
# Returns the date of the most recent encounter (of any kind) for patient
DECLARE lastvisit DATE;
SELECT MAX(DATE)
INTO lastvisit
FROM encounters
WHERE personid = patient;
RETURN lastvisit;
END