[英]Error #1064 in creating function in MySQL
friends.朋友们。
I am trying to create function in MySQL using this script:我正在尝试使用此脚本在 MySQL 中创建 function :
CREATE FUNCTION CurrentMemoDepartment(MID INT)
RETURNS INT
BEGIN
DECLARE DeptID INT;
SET DeptID = 0;
SELECT TOP 1 TDeptID INTO DeptID FROM Transactions WHERE MemoID = MID ORDER BY ID DESC;
RETURN DeptID;
END
but it says:但它说:
Single-statement function does not need in BEGIN-END, intermediate variables, DELIMITER reassing.单语句 function 不需要在 BEGIN-END、中间变量、DELIMITER 重新评估。
And MySQL uses LIMIT
, not TOP n
.并且 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;
USE DELIMITER for declaring使用 DELIMITER 声明
like喜欢
DELIMITER $$
CREATE FUNCTION CurrentMemoDepartment(MID INT)
RETURNS INT
BEGIN
DECLARE DeptID INT;
SET DeptID = 0;
SELECT TDeptID INTO DeptID FROM Transactions WHERE MemoID = MID ORDER BY ID DESC LIMIT 1;
RETURN DeptID;
END$$
DELIMITER ;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.