在 MYSQL 函数问题中将 INT 变量声明为 return
Declaring INT variable to return in MYSQL Function problem
我正在尝试构建一个 mysql 函数,它将值插入 table 和 returns 我插入的 last_id,执行后应该是相同的插入。但是 Xampp 在我声明“last_bill_id”变量的行中给我一个错误。有人可以帮助我了解我做错了什么吗?
函数代码如下:
CREATE FUNCTION insert_bill(
client_id varchar (12),
bill_date date
) RETURNS INT
BEGIN
DECLARE last_bill INT;
INSERT INTO bill
(
client_id, bill_date
)
VALUES
(
client_id, bill_date
);
SET last_bill = LAST_INSERT_ID();
RETURN last_bill;
END $$
DELIMITER ;
错误:#1064 - 'INT
有问题
您需要在开头添加一个分隔符
DELiMiTER $$
CREATE FUNCTION insert_bill(
client_id varchar (12),
bill_date date
) RETURNS INT
DETERMINISTiC
BEGIN
DECLARE last_bill INT;
INSERT INTO bill
(
client_id, bill_date
)
VALUES
(
client_id, bill_date
);
SET last_bill := LAST_INSERT_ID();
RETURN last_bill;
END $$
DELIMITER ;
我正在尝试构建一个 mysql 函数,它将值插入 table 和 returns 我插入的 last_id,执行后应该是相同的插入。但是 Xampp 在我声明“last_bill_id”变量的行中给我一个错误。有人可以帮助我了解我做错了什么吗?
函数代码如下:
CREATE FUNCTION insert_bill(
client_id varchar (12),
bill_date date
) RETURNS INT
BEGIN
DECLARE last_bill INT;
INSERT INTO bill
(
client_id, bill_date
)
VALUES
(
client_id, bill_date
);
SET last_bill = LAST_INSERT_ID();
RETURN last_bill;
END $$
DELIMITER ;
错误:#1064 - 'INT
有问题您需要在开头添加一个分隔符
DELiMiTER $$
CREATE FUNCTION insert_bill(
client_id varchar (12),
bill_date date
) RETURNS INT
DETERMINISTiC
BEGIN
DECLARE last_bill INT;
INSERT INTO bill
(
client_id, bill_date
)
VALUES
(
client_id, bill_date
);
SET last_bill := LAST_INSERT_ID();
RETURN last_bill;
END $$
DELIMITER ;