[SQL] create function f_a1_a2(a1 INTEGER, a2 INTEGER) returns char(50) begin declare a3 int if a1 > a2 a3=a1 RETURN a3; else a3=a2 return a3; end if end ; [Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'if a1 > a2 a3=a1 RETURN a3; else a3=a2 return a3; end if end' at line 5
时间: 2023-10-16 13:26:56 浏览: 48
在 MySQL 中,应该使用 CASE 语句来实现条件判断。以下是修改后的函数代码:
```
CREATE FUNCTION f_a1_a2(a1 INTEGER, a2 INTEGER) RETURNS CHAR(50)
BEGIN
DECLARE a3 INT;
IF a1 > a2 THEN
SET a3 = a1;
ELSE
SET a3 = a2;
END IF;
RETURN CAST(a3 AS CHAR);
END;
```
在该函数中,我们使用了 IF THEN ELSE 的语法来代替原有的 IF 语句,并且使用了 SET 语句来给变量 a3 赋值。同时,我们将 a3 转换为 CHAR 类型,并在 RETURN 语句中返回。
相关问题
create function cpmpare_sr(k1 int(6),k2 int(6)) returns integer begin declare fhz int(2); if k1>k2 then set fhz=1; else set fhz=0; end if; end$$
这是一个 MySQL 存储过程,名为 `cpmpare_sr`,接受两个整型参数 `k1` 和 `k2`,返回一个整型结果。该存储过程的目的是比较 `k1` 和 `k2` 的大小,并将结果存储在变量 `fhz` 中。如果 `k1` 大于 `k2`,则将 `fhz` 设置为 1,否则为 0。但是,该存储过程在比较大小后没有返回结果,应该添加 `return fhz;` 语句来返回结果。
delimiter // create function func_user(in in_id int) returns varchar(50) begin declare out_name varchar(50); select name into out_name from tb_user where id = in_id; return out_name; end//
你这个创建存储函数的语句已经基本正确了,只需要在最后加上重新定义结束符号的语句即可,具体如下:
```
delimiter //
create function func_user(in in_id int) returns varchar(50)
begin
declare out_name varchar(50);
select name into out_name from tb_user where id = in_id;
return out_name;
end //
delimiter ;
```
在这个语句中,DELIMITER 命令定义结束符号为 //,函数体中声明了一个局部变量 out_name,然后从 tb_user 表中查询用户姓名并赋值给 out_name 变量,最后通过 return 语句返回 out_name 变量的值。
需要注意的是,使用 DELIMITER 命令时,应该在每个语句的末尾加上结束符号 //,在最后使用 DELIMITER ; 命令重新定义结束符号为分号。这样,MySQL 才能正确地识别存储函数的语法结构。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)