我这一段的存储函数哪里写错了?
CREATE function FUN1(IN N int)
RETURNS INT deterministic
BEGIN
DECLARE TOTAL INT DEFAULT 0;
while N > 0 do
SET TOTAL := TOTAL + N;
SET N := N - 1;
END WHILE;
RETURN TOTAL;
end;
SELECT FUN1(50);
设置语句分隔符:DELIMITER //
create语句最后使用//代替;
【以下回答由 GPT 生成】
这段存储函数中的问题在于变量的赋值语句使用了错误的语法。在MySQL中,变量的赋值应该使用:=
而不是:=
。所以,正确的代码应该是:
CREATE FUNCTION FUN1(IN N INT)
RETURNS INT DETERMINISTIC
BEGIN
DECLARE TOTAL INT DEFAULT 0;
WHILE N > 0 DO
SET TOTAL = TOTAL + N;
SET N = N - 1;
END WHILE;
RETURN TOTAL;
END;
SELECT FUN1(50);
这样修改之后,存储函数就能够正确执行了。
【相关推荐】