Функция одного оператора не нуждается в BEGIN-END, промежуточных переменных, повторной проверке DELIMITER.
И MySQL использует LIMIT
, а не TOP n
.
CREATE FUNCTION CurrentMemoDepartment(MID INT)
RETURNS INT
RETURN SELECT TDeptID
FROM Transactions
WHERE MemoID = MID
ORDER BY ID DESC
LIMIT 1;